java中,数组格式的String如何转成对象数组?

java新手,最近做了一个小工程。我用post方法从服务器获得了一串json数据,现在不知道怎么处理数据,来调用其中的值。Stringstr={"d":[{"name":... java新手,最近做了一个小工程。
我用post方法从服务器获得了一串json数据,现在不知道怎么处理数据,来调用其中的值。
String str={"d":[{"name":"小明“,”age“:"18","sex":"男","adress":"北京"},{"name":"小红“,”age“:"18","sex":"女","adress":"北京"},{"name":"小强“,”age“:"20","sex":"男","adress":"南京"}]};
jsonObject = new JSONObject(str);
String responseText = jsonObject.getString("d");
debug模式中已经看到 responseText的值为
[{"name":"小明“,”age“:"18","sex":"男","adress":"北京"},{"name":"小红“,”age“:"18","sex":"女","adress":"北京"},{"name":"小强“,”age“:"20","sex":"男","adress":"南京"}]
现在我应该如何处理这串数据来调用其中的元素呢?

我想将 responseText转换为对象数组,再通过数组调用方式调用其中的元素,将调用的元素转成jsonObject对象,然后通过jsonObject1.getString(String name)的方法调用其中的value。

但是我对对象数组不是很了解,翻书很久也没看懂。请问我应该将reponseText转成什么形式的对象数组,如何转换?或者是否有其他方法来获得reponseText里面的value?
展开
 我来答
wjm0506
推荐于2016-08-22 · TA获得超过147个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:173万
展开全部
//假设为Person类geter\seter
JSONArray array = JSONArray.fromObject(jsonString); 
Person[] persons = new Person[array.size()]; 
for(int i = 0; i < array.size(); i++){ 
    JSONObject jsonObject = array.getJSONObject(i); 
    persons[i] = JSONObject.toBean(jsonObject, Person.class); //转成实体对象
}
return persons;//person对象数组,可以循环拿来取出person,get各个属性了
你试试

在页面上js解析的确要方便很多
追问
可是我的responseText是字符串,怎么使用fromObject方法?
可以加Q聊吗?
我的:342199107
追答
ok
百度网友f77eb01
2014-06-26 · TA获得超过407个赞
知道小有建树答主
回答量:615
采纳率:100%
帮助的人:418万
展开全部
responseText字符串可以用JSONArray(貌似是这么写,记不清了)对象来处理为List类型的实例。然后就可以通过toArray()方法转换为数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ytx361606960
2021-06-03
知道答主
回答量:8
采纳率:0%
帮助的人:3835
展开全部
比如要将String cats转为类Cat的对象数组
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xxx.Cat;
cats的内容为{"cat":[{"name":"huahua","age":77},{"name":"qiqi","age":81}]}
List<Cat> catList = null;

if (StringUtils.isNotEmpty(cats)){
JSONObject jsonObject = JSON.parseObject(cats);
catList = jsonObject.getJSONArray("cat").toJavaList(Cat.class);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友582ebf573
2014-06-26 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:100%
帮助的人:61.1万
展开全部
你都用到json了,ajax方式用javascript处理不是更好,直接eval一下就变成object了,多好
追问
我对json其实不了解啦,公司里面要这么做,我一个外专业的也只好硬着头皮上了T^T
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cs903016
2014-06-26 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1710万
展开全部
Object[] a = [{"name":"小明“,”age“:"18","sex":"男","adress":"北京"},{"name":"小红“,”age“:"18","sex":"女","adress":"北京"},{"name":"小强“,”age“:"20","sex":"男","adress":"南京"}];
Object b = a.get(0)
追问
这个方法似乎不行啊?写进去会报错
追答
你所谓的responseText的值是在服务器端的还是在浏览器端的值,请描述清楚,如果你这个值是在浏览器端的值,要取得里面的对象的话

var a = [{"name":"小明“,”age“:"18","sex":"男","adress":"北京"},{"name":"小红“,”age“:"18","sex":"女","adress":"北京"},{"name":"小强“,”age“:"20","sex":"男","adress":"南京"}];
var b = a[0];
如果你的这个responseText是在服务器端接收到的,那么你的这个字符在java中就会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式