package com;
import javautilList;
import comKensouPerson;
import comalibabafastjsonJSON;
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 = JSONparseObject(result, Kensouclass);
Systemoutprintln(ps);
List<Person> data1 = psgetData1();
for(int i = 0; i < data1size(); i++)
{
Person p = data1get(i);
Systemoutprintln(p);
}
Person data2 = psgetData2();
Systemoutprintln(data2);
}
}
/
模型对象不需要构造函数, 至少只需要setter方法<br>
Person类可以是内嵌类,也可以是外部类 <br>
Kensou类只能是外部类<br>
集合类可以是数组或者List类型<br>
<p>
使用的是<font color="red">fastjson-1136jar</font>
/
class Kensou
{
private List<Person> data1;
private Person data2;
public List<Person> getData1()
{
return data1;
}
public void setData1(List<Person> data1)
{
thisdata1 = data1;
}
public Person getData2()
{
return data2;
}
public void setData2(Person data2)
{
thisdata2 = data2;
}
@Override
public String toString()
{
return Stringformat("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)
{
thisname = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
thisage = age;
}
public int getNowpage()
{
return nowpage;
}
public void setNowpage(int nowpage)
{
thisnowpage = nowpage;
}
public int getPagesize()
{
return pagesize;
}
public void setPagesize(int pagesize)
{
thispagesize = pagesize;
}
@Override
public String toString()
{
return Stringformat("Person [name=%s, age=%s, nowpage=%s, pagesize=%s]", name, age, nowpage, pagesize);
}
}
}
普通的json数组。
由于json中的所有引号必须使用双引号,但又不能双引号里包含双引号,所以上面的第一个例子都必须使用\转义。 第三个元素是一个字符串 ,需要对原数组json_decode之后在对第三个元素json_decode。
json数组里嵌入json对象
普通的json对象
乍一看像是Json对象里包了一个json数组,仔细看其实第三个元素是一个字符串,这个整体还是一个json对象。
json对象套json数组
使用for语句对jsonArray遍历
<html><body>
<script type="text/javascript">
var jsonArray = [{"name":"宗2瓜","num":"1","price":"122"}];
// 遍历json数组
for (var obj in jsonArray ){
// 将json对象转换为字符串
var str = JSONstringify(jsonArray[obj]);
// 将json字符串转换为map
var map = eval("("+str+")");
// 遍历Map
for (var key in map){
var value = map[key];
if (value == '宗2瓜') {
alert('宗2瓜 => key['+key+']' );
}
}
}
</script>
</body>
</html>
使用原生的解析:
String json = "";
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < arraylength(); j++) {
obj = arraygetJSONObject(j);
Data data = new Data();
mDataListadd(data);
}
数组声明
在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。
数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。
百度百科-数组
以上就是关于json对象的值为数组,怎么获取数组某项的值(注意不是json数组)全部的内容,包括:json对象的值为数组,怎么获取数组某项的值(注意不是json数组)、mysql中json_array和json_object的使用、如何根据json对象数组的value获取对应的key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)