日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java json 构造_json 构造和解析

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java json 构造_json 构造和解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

(1)引入jar包;

(2)json的構造;

(3)json的解析;

(4)遍歷未知key。

(1)java對json的處理,可借助org.json.jar.

org.json

json

20090211

(2)json的構造

//construct json and output it

public String constructJson() throws JSONException {

JSONObject map1 = new JSONObject();

map1.put("name", "張三");

map1.put("password", "123");

System.out.println("map1 --->" + map1);

JSONObject map2 = new JSONObject();

map2.put("name", "李四");

map2.put("password", "456");

System.out.println("map2 --->" + map2);

JSONArray list = new JSONArray();

list.put(map1);

list.put(map2);

System.out.println("jsonMembers --->" + list);

JSONObject json=new JSONObject();

json.put("users", list);

System.out.println("json --->" + json);

return json.toString();

}

public static void main(String args[]) throws Exception{

RoomTool rt = new RoomTool();

rt.constructJson();

}

輸出如下:

map1 --->{"password":"123","name":"張三"}

map2 --->{"password":"456","name":"李四"}

jsonMembers --->[{"password":"123","name":"張三"},{"password":"456","name":"李四"}]

json --->{"users":[{"password":"123","name":"張三"},{"password":"456","name":"李四"}]}

(3)json的解析

//construct json from String and resolve it.

public String jsonTest2() throws JSONException{

String jsonString=jsonTest();

JSONObject json= new JSONObject(jsonString);

JSONArray jsonArray=json.getJSONArray("users");

String loginNames="loginname list:";

for(int i=0;i

JSONObject user=(JSONObject) jsonArray.get(i);

String userName=(String) user.get("loginname");

if(i==jsonArray.length()-1){

loginNames+=userName;

}else{

loginNames+=userName+",";

}

}

System.out.println("loginNames --->" + loginNames);

return loginNames;

}

public static void main(String args[]) throws Exception{

RoomTool tool = new RoomTool();

tool.jsonTest2();

}

輸出如下:loginNames --->loginname list:zhangfan,zf

(4)遍歷未知key

public void parseJson(String jsonString) throws JSONException{

JSONObject json= new JSONObject(jsonString);

Iterator it = json.keys();

while(it.hasNext()){

String key = it.next().toString();

int values = Integer.parseInt((String)json.get(key));

System.out.println(key + "--->" + values);

}

}

public static void main(String args[]) throws Exception{

RoomTool tool = new RoomTool();

tool.parseJson("{\"1\":\"0\",\"2\":\"30\",\"3\":\"15\",\"4\":\"15\",\"5\":\"20\",\"6\":\"20\"}");

}

輸出:

1--->0

2--->30

3--->15

4--->15

5--->20

6--->20

一.Json對象與Json字符串的轉化

1.jQuery插件支持的轉換方式:

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字符串轉換成json對象

2.瀏覽器支持的轉換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器:

JSON.stringify(obj)將JSON轉為字符串。JSON.parse(string)將字符串轉為JSON格式;

var a={"name":"tom","sex":"男","age":"24"};

var b='{"name":"Mike","sex":"女","age":"29"}';

var aToStr=JSON.stringify(a);

var bToObj=JSON.parse(b);

alert(typeof(aToStr));? //string

alert(typeof(bToObj));//object

3.Javascript支持的轉換方式:

eval('(' + jsonstr + ')'); //可以將json字符串轉換成json對象,注意需要在json字符外包裹一對小括號

注:ie8(兼容模式),ie7和ie6也可以使用eval()將字符串轉為JSON對象,但不推薦這些方式,這種方式不安全eval會執行json串中的表達式。

4.JSON官方的轉換方式:

http://www.json.org/提供了一個json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對象以及其stringify()和parse()方法;

可以在https://github.com/douglascrockford/JSON-js上獲取到這個js,一般現在用json2.js。

二、JSON?字符串?與?java?對象的轉換

1. 把java 對象列表轉換為json對象數組,并轉為字符串

JSONArray array =?JSONArray.fromObject(list);

String jsonstr = array.toString();

2. 把java對象轉換成json對象,并轉化為字符串

JSONObject object =?JSONObject.fromObject(user);

Log4jInit.ysulogger.debug(object.toString());

3.把JSON字符串轉換為JAVA 對象數組

JSONArray json = JSONArray.fromObject(userStr);//userStr是json字符串

List users= (List)JSONArray.toCollection(json, User.class);

4.把JSON字符串轉換為JAVA 對象

JSONObject jsonobject = JSONObject.fromObject(jsonStr);

User user= (User)JSONObject.toBean(object,User.class);

總結

以上是生活随笔為你收集整理的java json 构造_json 构造和解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。