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数组)的主要内容,如果未能解决你的问题,请参考以下文章