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? 展开
我用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? 展开
展开全部
//假设为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
展开全部
responseText字符串可以用JSONArray(貌似是这么写,记不清了)对象来处理为List类型的实例。然后就可以通过toArray()方法转换为数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如要将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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你都用到json了,ajax方式用javascript处理不是更好,直接eval一下就变成object了,多好
追问
我对json其实不了解啦,公司里面要这么做,我一个外专业的也只好硬着头皮上了T^T
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Object[] a = [{"name":"小明“,”age“:"18","sex":"男","adress":"北京"},{"name":"小红“,”age“:"18","sex":"女","adress":"北京"},{"name":"小强“,”age“:"20","sex":"男","adress":"南京"}];
Object b = a.get(0)
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中就会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询