json对象的值为数组,怎么获取数组某项的值?(注意不是json数组) 30

 我来答
yugi111
2015-09-25 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package com;

import java.util.List;

import com.Kensou.Person;
import com.alibaba.fastjson.JSON;

public class Yuma
{
public static void main(String[] args)
{
String result =
        "{\"data1\":[{\"name\":\"aa\",\"age\":\"12\"},{\"name\":\"bb\",\"age\":\"13\"}],\"data2\":{\"nowpage\":1,\"pagesize\":2}}";
Kensou ps = JSON.parseObject(result, Kensou.class);
System.out.println(ps);
List<Person> data1 = ps.getData1();
for(int i = 0; i < data1.size(); i++)
{
Person p = data1.get(i);
System.out.println(p);
}
Person data2 = ps.getData2();
System.out.println(data2);
}
}

/**
 * 模型对象不需要构造函数, 至少只需要setter方法<br>
 * Person类可以是内嵌类,也可以是外部类 <br>
 * Kensou类只能是外部类<br>
 * 集合类可以是数组或者List类型<br>
 * <p>
 * 使用的是<font color="red">fastjson-1.1.36.jar</font>
 */
class Kensou
{
private List<Person> data1;

private Person data2;

public List<Person> getData1()
{
return data1;
}
public void setData1(List<Person> data1)
{
this.data1 = data1;
}
public Person getData2()
{
return data2;
}
public void setData2(Person data2)
{
this.data2 = data2;
}
@Override
public String toString()
{
return String.format("Kensou [data1=%s, data2=%s]", data1, data2);
}

class Person
{
private String name;

private int age;

private int nowpage;

private int pagesize;

public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public int getNowpage()
{
return nowpage;
}
public void setNowpage(int nowpage)
{
this.nowpage = nowpage;
}
public int getPagesize()
{
return pagesize;
}
public void setPagesize(int pagesize)
{
this.pagesize = pagesize;
}
@Override
public String toString()
{
return String.format("Person [name=%s, age=%s, nowpage=%s, pagesize=%s]", name, age, nowpage, pagesize);
}
}
}
yuboalt
2017-08-11 · TA获得超过578个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:207万
展开全部
在JS中:
假设你的json 对象是 jObject
获取数组
var picArr = jObject['taobao_pic_urls'];
获取其中的某项值
var index = 0; //要获取的下标
var picUrl = picArr[index];

在java中:
可以使用net.sf.JsonObject 和 net.sf.JsonArray
假设你的json 对象是 jObject net.sf.JsonObject对象格式
获取数组
JosnArray jArray = jObject.getJSONArray("taobao_pic_urls");
获取其中的某项值
int index = 0; //要获取的下标
String picUrl = String.valueOf(jArray.get(index));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友62bec5e9e
2017-07-09 · TA获得超过134个赞
知道小有建树答主
回答量:129
采纳率:54%
帮助的人:65.9万
展开全部
json对象的话应该直接可以取出来,你如果通过json方式取不出来很有可能是你的只是个json字符串通过eval("("+data+")");方式将json字符串转换为json对象就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-09-10
展开全部
转化成对象
追问
jsonObject好像又没有获取数组的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式