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

JSON数据(语义格式)多对象解析

2016-01-26 09:19 465 查看
1.当我们获取到语义之后得到的json数据格式排布一般是不规则的,如果对象较多对结构一时半会看不清结构的条理,可以将得到的json数据直接粘贴到在线解析的网站上,http://www.bejson.com/,这里可以得到按节点分类排好的清晰结构,同时可以检查json数据格式的正确与否。

示例

/**json数据格式
* {
"semantic": {
"slots": {
"datetime": {
"date": "2015-12-14",
"type": "DT_BASIC",
"time": "15:00:00",
"timeOrig": "3点"
},
"name": "clock",
"content": "定一个3点的闹钟。"
}
},
"rc": 0,
"operation": "CREATE",
"service": "schedule",
"text": "定一个3点的闹钟。"
}
*/


2.代码中解析

try {
JSONObject jsonObject = new JSONObject(text);
JSONObject semantic = jsonObject.getJSONObject("semantic");
JSONObject slots = semantic.getJSONObject("slots");
JSONObject datetime = slots.getJSONObject("datetime");
String str = "日期:" + datetime.getString("date") + "," +
"类型:" + datetime.getString("type") +  "," +
"时间" + datetime.getString("time") +  "," +
"时间口语:" + datetime.getString("timeOrig")+ "," +
"待办事件名称:" + slots.getString("name") +  "," +
"待办事件内容:" + slots.getString("content") +  "," +
"执行操作:" + jsonObject.getString("operation")+ "," +
"服务:" + jsonObject.getString("service")+ "," +
"文本:" + jsonObject.getString("text");
System.out.println(str);

} catch (JSONException e) {
e.printStackTrace();
}


3.结果



ps:第一上传截图不知道为什么这么大,将就着看吧。另外有一个语音闹钟的例子,我会抽空总结一下上传到博客和github上,希望大家一起进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: