Java如何获取JSON的内容 10

第一张图是需要获取的内容,我想要获取rsp,第二章图是我写的代码,我想的是String获取rsp,然后转成JSONArray,再迭代取出JSONObject,请问我这么写... 第一张图是需要获取的内容,我想要获取rsp,第二章图是我写的代码,我想的是String获取rsp,然后转成JSONArray,再迭代取出JSONObject,请问我这么写正确吗?
报错了A JSONArray text must start with '['
展开
 我来答
百度网友8176e16
2019-04-12 · TA获得超过6.9万个赞
知道小有建树答主
回答量:354
采纳率:86%
帮助的人:72.3万
展开全部
如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-2.2.3-jdk15.jar
Java样例程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class DoJSON {
public static void main(String[] args) {
JSONArray employees = new JSONArray(); //JSON数组
JSONObject employee = new JSONObject(); //JSON对象

employee.put("firstName", "Bill"); //按“键-值”对形式存储数据到JSON对象中
employee.put("lastName", "Gates");
employees.add(employee); //将JSON对象加入到JSON数组中

employee.put("firstName", "George");
employee.put("lastName", "Bush");
employees.add(employee);

employee.put("firstName", "Thomas");
employee.put("lastName", "Carter");
employees.add(employee);

System.out.println(employees.toString());
for(int i=0; i<employees.size(); i++) {
JSONObject emp = employees.getJSONObject(i);
System.out.println(emp.toString());
System.out.println("FirstName :\t" + emp.get("firstName"));
System.out.println("LastName : \t" + emp.get("lastName"));
}
}
}
运行效果:
[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
{"firstName":"Bill","lastName":"Gates"}
FirstName : Bill
LastName : Gates
{"firstName":"George","lastName":"Bush"}
FirstName : George
LastName : Bush
{"firstName":"Thomas","lastName":"Carter"}
FirstName : Thomas
LastName : Carter
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶风起
2019-04-12 · 知道合伙人软件行家
丶风起
知道合伙人软件行家
采纳数:308 获赞数:1435
第十二、十三、十四届齐鲁软件设计大赛三等奖

向TA提问 私信TA
展开全部
这样的用法不对,rsp是JSONArray格式数据,不能用getString取出,只能用JSONArray rsp = xml.getJSONArray("rsp")取出然后遍历
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-04-12
展开全部

求采纳

public static void main(String[] args) {
String json = "{\"xml\":{\"code\":\"0\",\"nonceStr\":\"EAGEGEGAWGWGWAGWAGWAG\",\"rsp\":[{\"aac02\":\"59682656655\"},{\"aac02\":\"59682656656\"},{\"aac02\":\"59682656657\"}]}}";
JSONObject jsonObj = JSONObject.fromObject(json);
JSONObject xml = jsonObj.getJSONObject("xml");
System.out.println(xml);
JSONArray rsp = xml.getJSONArray("rsp");
List<DataRsp> list = new ArrayList<>();
for (int i = 0; i < rsp.size(); i++) {
DataRsp data = (DataRsp) JSONObject.toBean(rsp.getJSONObject(i),DataRsp.class);
list.add(data);
}
System.out.println(list);
}

public class DataRsp {
private String aac02;

public String getAac02() {
return aac02;
}

public void setAac02(String aac02) {
this.aac02 = aac02;
}

@Override
public String toString() {
return "DataRsp [aac02=" + aac02 + "]";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式