java读取json格式数据

jefft1 2014-05-14 12:18:05
{
"status":0,
"message":"ok",
"results":[
{
"name":"重庆秦妈火锅(马仁山东路店)",
"location":{
"lat":31.312634,
"lng":118.406372
},
"address":"弋江区马仁山东路275号(南瑞世纪联华超市向东200米)",
"telephone":"0553-5919177",
"uid":"d01b6bf9e9ea6f9e4d776e95",
"detail_info":{
"type":"cater",
"tag":"火锅,餐饮",
"detail_url":"http://api.map.baidu.com/place/detail?uid=d01b6bf9e9ea6f9e4d776e95&output=html&source=placeapi_v2",
"price":"45",
"overall_rating":4.5,
"service_rating":2,
"environment_rating":4.5,
"image_num":"30",
"groupon_num":4,
"comment_num":"283"
}
}
]
}
在这个json格式的数据中我已经将部分数据用java代码形式进行读取出来了,可是在location和detail_info这两个部分的数据我知道应该用JSONObject来进行读取,可是我却不知道该怎么去写,下面是我写的读取除location和detail_info两个之外其它数据
    public static void main(String[] args) throws IOException {
JSONArray jsonArray = searchLocation("芜湖");
Iterator iteratorArray = jsonArray.iterator();
while (iteratorArray.hasNext()) {
JSONObject json = (JSONObject) iteratorArray.next();
String results = json.getString("results");
JSONArray resultArray = JSONArray.fromObject(results);
Iterator iteratorResult = resultArray.iterator();
while (iteratorResult.hasNext()) {
JSONObject iteratorJson = (JSONObject) iteratorResult.next();
System.out.println(iteratorJson.getString("name"));
System.out.println(iteratorJson.getString("address"));
System.out.println(iteratorJson.getString("telephone"));
System.out.println(iteratorJson.getString("uid"));
JSONObject json_location = (JSONObject) iteratorArray.next();
JSONObject json_details = (JSONObject) iteratorArray.next();
String location = json_location.getString("location");
String details = json_details.getString("detail_info");
}
}
}
接下来的该如何去写呢?求大神帮忙!
...全文
479 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2014-05-14
  • 打赏
  • 举报
回复
String location = json_location.getString("location"); String details = json_details.getString("detail_info"); JSONObject location =JSONObject.fromObject(location ); JSONObject details =JSONObject.fromObject(details ); details .getString("environment_rating");要说取啥就行了 。 JSONObject 就是 json字符串和javaBean的中间对象 ,
别闹腰不好 2014-05-14
  • 打赏
  • 举报
回复
location和detail_info和上边的一样的解析 ,你都能解析一部分了 ,我想剩下的也能解析。
snow-is-my-Love 2014-05-14
  • 打赏
  • 举报
回复
map里有map 该怎么遍历就怎么遍历
别闹腰不好 2014-05-14
  • 打赏
  • 举报
回复
public static void main(String[] args) throws IOException { JSONArray jsonArray = searchLocation("芜湖"); Iterator iteratorArray = jsonArray.iterator(); while (iteratorArray.hasNext()) { JSONObject json = (JSONObject) iteratorArray.next(); String results = json.getString("results"); JSONArray resultArray = JSONArray.fromObject(results); Iterator iteratorResult = resultArray.iterator(); while (iteratorResult.hasNext()) { JSONObject iteratorJson = (JSONObject) iteratorResult.next(); System.out.println(iteratorJson.getString("name")); System.out.println(iteratorJson.getString("address")); System.out.println(iteratorJson.getString("telephone")); System.out.println(iteratorJson.getString("uid")); String location = iteratorJson.getString("location"); String details = iteratorJson.getString("detail_info"); JSONObject location =JSONObject.fromObject(location ); JSONObject details =JSONObject.fromObject(details ); System.out.println(details .getString("environment_rating")); } } }
别闹腰不好 2014-05-14
  • 打赏
  • 举报
回复
你要是不json 转成java对象 就得这么转, 你应该是哪里写的不对 。
jefft1 2014-05-14
  • 打赏
  • 举报
回复
楼上的方法还是不行
tony4geek 2014-05-14
  • 打赏
  • 举报
回复
楼上的方法试试看那。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧