json对象的值为数组,怎么获取数组某项的值?(注意不是json数组) 30
4个回答
展开全部
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);
}
}
}
展开全部
在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));
假设你的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));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
json对象的话应该直接可以取出来,你如果通过json方式取不出来很有可能是你的只是个json字符串通过eval("("+data+")");方式将json字符串转换为json对象就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-09-10
展开全部
转化成对象
追问
jsonObject好像又没有获取数组的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询