添加Java 中 使用JSON 使用的包:
1,创建基本JSON
JSONObject jsonData = new JSONObject();
jsonData.put("name", "小明");
jsonData.put("age", 22);
jsonData.put("sex", "man");
jsonData.put("major", new String[]{"java","C++"});
//json.put("data", jsonData);
System.out.println(jsonData.toString());
输出:
{"major":["java","C++"],"sex":"man","name":"小明","age":22}
这种创建JSON 的方式,并没有提供 Code 和data ,不太规范,更改如下:
2,创建带code 的json
JSONObject json = new JSONObject();
json.put("code", 1);
JSONObject jsonData = new JSONObject();
jsonData.put("name", "小明");
jsonData.put("age", 22);
jsonData.put("sex", "man");
jsonData.put("major", new String[]{"java","C++"});
json.put("data", jsonData);
System.out.println(json.toString());
输出:
{"code":1,"data":{"major":["java","C++"],"sex":"man","name":"小明","age":22}}
3,json 解析
首先判断code 是否成功 (code == 1),成功了,解析 data 数据,data中带有JSONArray(major) 数据,解析中要注意。
private static void parseBaseJSON(String json)
{
JSONObject jsonObject = JSONObject.fromObject(json);
int code = jsonObject.getInt("code");
System.out.println("code =="+code);
if(code == 1)
{
JSONObject data = jsonObject.getJSONObject("data");
String sex = data.getString("sex");
System.out.println("sex =="+sex);
int age = data.getInt("age");
System.out.println("age =="+age);
JSONArray jsArray = data.getJSONArray("major");
for(int i = 0;i<jsArray.size();i++)
{
System.out.println("major =="+jsArray.get(i));
}
}
/*JSONArray jsonData = jsonObject.getJSONArray("data");
System.out.println(jsonData.toString());*/
}
4,创建多个数据的JSON
对于data 包含多个数据的情况,要使用JSONArray 包装数据,如下:
JSONObject json = new JSONObject();
json.put("code", 1);
JSONObject jsonData = new JSONObject();
jsonData.put("name", "小明");
jsonData.put("age", 22);
jsonData.put("sex", "man");
jsonData.put("major", new String[]{"java","C++"});
//json.put("data", jsonData);
//System.out.println(json.toString());
JSONArray jsonArray= new JSONArray();
JSONObject jsonData2 = new JSONObject();
jsonData2.put("name", "小明2");
jsonData2.put("age", 27);
jsonData2.put("sex", "man");
jsonData2.put("major", new String[]{"php","c"});
jsonArray.add(jsonData);
jsonArray.add(jsonData2);
json.put("code", 1);
json.put("data", jsonArray);
System.out.println(json.toString());
输出:
{"code":1,"data":[{"major":["java","C++"],"sex":"man","name":"小明","age":22},{"major":["php","c"],"sex":"man","name":"小明2","age":27}]}
data 里包含两组数据。
解析过程:
private static void parseAdvanceJSON(String json)
{
JSONObject jsonObject = JSONObject.fromObject(json);
int code = jsonObject.getInt("code");
System.out.println("code =="+code);
if(code == 1)
{
JSONArray jsArray = jsonObject.getJSONArray("data");
for(int i = 0;i<jsArray.size();i++)
{
JSONObject obj = jsArray.getJSONObject(i);
String sex = obj.getString("sex");
System.out.println("sex =="+sex);
int age = obj.getInt("age");
System.out.println("age =="+age);
JSONArray jsArrayMajor = obj.getJSONArray("major");
for(int j = 0;j<jsArrayMajor.size();j++)
{
System.out.println("major =="+jsArrayMajor.get(j));
}
}
}
}
以上就是JSON 的基本用法。