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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json对象的值为数组,怎么获取数组某项的值?(注意不是json数组)相关的知识,希望对你有一定的参考价值。

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);


参考技术A 在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));
参考技术B json对象的话应该直接可以取出来,你如果通过json方式取不出来很有可能是你的只是个json字符串通过eval("("+data+")");方式将json字符串转换为json对象就可以了 参考技术C 转化成对象追问

jsonObject好像又没有获取数组的方法。

vue的data里面的值是数组时,在更改其某一项的时候,怎么触发视图的重新渲染?

1. 设置对象或数组的值:Vue.set(target,key,value) ;
2.删除对象或数组中元素: Vue.delete ( target,key) ;
3. 数组对象直接修改属性,可以触发视图更新:
this.array[0].show = true;
4.splice方法修改数组,可以触发视图更新:
this.array.splice(indexOfItem, 1, newElement)
5.数组整体修改,可以触发视图更新:
var tempArray = this.array;
tempArray[0].show = true;
this.array = tempArray;
6.用Object.assign或lodash.assign可以为对象添加响应式属性,
可以触发视图更新:
7.Vue提供了如下的数组的变异方法,可以触发视图更新:
push()/pop()/shift()/unshift()/splice() /sort()/reverse()

以上是关于json对象的值为数组,怎么获取数组某项的值?(注意不是json数组)的主要内容,如果未能解决你的问题,请参考以下文章

请教下json里用多个值的时候,啥时候用数组的中括号啊

JSON小记

java中把json怎么转换成数组

java中把json怎么转换成数组?

json 的值如果有逗号怎么办

PHP怎么随机获取数组里面的值?