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

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

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9551415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存