您的位置:首页 > Web前端 > JavaScript

简单解析json数据(接上篇创建json数据)

2015-10-27 20:35 597 查看
解析json数据(接上篇 创建json数据)

1. 先了解json数据格式

{ 键:值,键:值,... }

[ 值,值,... ]

2. 创建 JSONObject 与 JSONArray 对象 传入 数据,例:

<pre name="code" class="java">String msg = "";
//若msg是遇到 { 开头,就创建 JSONObject 对象
JSONObject jsonobject = JSONObject.fromObject(msg)
//若mgs是遇到 [ 开头,就创建 JSONArray 对象
JSONArray jsonarray = JSONArray.fromObject(msg)





3. 若是 相嵌 的JSON数据,可以这么做:

//[{键:值,键:值,...},{键:值,键:值,...}]
JSONObject jsonobjcet = jsonarray.getJSONObject(key);
//[[值,值,...],[值,值,...]]
JSONArray new_jsonarray = jsonarray.getJSONArray(index);
//{键:[值,值,...],键:[值,值,...],...}JSONArrayjsonarray = jsonobject.getJSONArray(index);
//{键:{键:[值,值,...],键:[值,值,...],...},键:{键:[值,值,...],键:[值,值,...],...},...}
JSONObject new_jsonobject = jsonobject.getJSONObject(key);






4. 取出值(其实方法与3差不多)

//对于 JSONObject , 调用 jsonobject.getString(key); 方法
//对于 JSONArray , 要使用循环取出
for(int i;i<jsonarray.size();i++){
jsonarray.getString(i);
}




代码,接着上篇 创建JSON数据

public class JsonRunning {

public static void main(String[] args) {

//              以下是上篇的代码
/*
JsonService jsonService = new JsonService();
Person person = jsonService.getPerson();
System.out.println(JsonTool.createJsonString("Person", person));
System.out.println(JsonTool.createJsonString("Myfriends",
jsonService.getlistPerson()));
System.out.println(JsonTool.createJsonString("Address",
jsonService.getlistaddress()));
System.out.println(JsonTool.createJsonString("list_map",
jsonService.getlistmap()));
*/
//              正片开始
String msg="";

System.out.println();
msg = JsonTool.createJsonString("Person", person);
System.out.println("Person:");
try {
JSONObject jsonObject00 = JSONObject.fromObject(msg);
if (jsonObject00.has("Person")) {
JSONObject jsonObject01 = jsonObject00.getJSONObject("Person");
System.out.println("address:"
+ jsonObject01.getString("address"));
System.out.println("id:" + jsonObject01.getString("id"));
System.out.println("name:" + jsonObject01.getString("name"));
}
} catch (Exception e) {
// TODO: handle exception
}

System.out.println();
msg = JsonTool.createJsonString("Myfriends",
jsonService.getlistPerson());
System.out.println("Myfriends:");
try {
JSONObject jsonObject10 = JSONObject.fromObject(msg);
JSONArray jsonArray10 = jsonObject10.getJSONArray("Myfriends");
for(int i = 0;i<jsonArray10.size();i++){
JSONObject jsonObject11 = jsonArray10.getJSONObject(i);
System.out.println("address:"+jsonObject11.getString("address"));
System.out.println("id:"+jsonObject11.getString("id"));
System.out.println("name:"+jsonObject11.getString("name"));
}
} catch (Exception e) {
// TODO: handle exception
}

System.out.println();
msg = JsonTool.createJsonString("Address",
jsonService.getlistaddress());
System.out.println("Address:");
try {
JSONObject jsonObject30 = JSONObject.fromObject(msg);
JSONArray jsonArray30 = jsonObject30.getJSONArray("Address");
for(int i =0;i<jsonArray30.size();i++){
System.out.println(jsonArray30.getString(i));
}
} catch (Exception e) {
// TODO: handle exception
}

System.out.println();
msg = JsonTool.createJsonString("list_map",
jsonService.getlistmap());
System.out.println("list_map:");
try {
JSONObject jsonObject40 = JSONObject.fromObject(msg);
JSONArray jsonArray40 = jsonObject40.getJSONArray("list_map");
for(int i =0;i<jsonArray40.size();i++){
JSONObject jsonObject41 = jsonArray40.getJSONObject(i);
System.out.println("name:"+jsonObject41.get("name"));
System.out.println("address:"+jsonObject41.get("address"));
System.out.println("id:"+jsonObject41.get("id"));
}
} catch (Exception e) {
// TODO: handle exception
}
}
}




要与上篇代码一起用才能打印出这结果

打印结果:





上篇打印结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息