JSONArray jsonArr = new JSONArray(jsonstr);//通过jsonstr字符串构造JSONArray对象。
JSONObject obj = (JSONObject)jsonArr.get(0);//获取jsonArr里第一个对象并把它赋值给 //JSONObject对象--因为你这里第一个对象是一个json串。
//获取json串里Thumbnail属性的值,因为还是一个json串,这里还转换为JSONObject对象。
JSONObject thumbnail = (JSONObject)obj.get("Thumbnail");。
//获取Url属性,得到值
String url = (String)thumbnail.get("Url");。
//只是示范一下,这里取到的是第一个Thumbnail的Url属性的值,相信看后你应该能取到你想要的。
需要写一个方法,把json数据转换成list集合数据。
public static List jsonToBean(String data, Object bean) {。
List list = new ArrayList();。
try {
JSONArray array;。
try {
array = new JSONArray(data);。
for (int i = 0; i < array.length(); i++) {。
Object toBean = getBean(bean);。
JSONObject ob = new JSONObject();。
ob = (JSONObject) array.get(i);。
toBean = jsonStrToBean(ob, toBean);。
list.add(toBean);。
return list;
} catch (JSONException e) {。
try {
Object obj = null;。
JSONObject jsonObj = new JSONObject(data);。
Object toBean = getBean(bean);。
toBean = jsonStrToBean(jsonObj, toBean);。
list.add(toBean);。
return list;
} catch (JSONException e1) {。
log.error("Error covert String to JSONObject", e);。
e1.printStackTrace();。
e.printStackTrace();。
log.error("Error covert String to JSONArray", e);。
} catch (SecurityException e) {。
e.printStackTrace();。
return list;
然后取出list集合数据中的值应该没问题了吧。
//序列化JSON.stringify(json)。
var jsonArray = [];。
jsonArray.push({a:1,b:2});。
jsonArray.push({a:2,b:3});。
console.log('jsonArray:'+jsonArray);。
console.log('jsonArray1:'+JSON.stringify(jsonArray));。
//反序列化JSON.parse(json)。
var a = JSON.stringify(jsonArray);。
var b = JSON.parse(a);。
b..push({a:3,b:4});。
console.log('b:'+b);。
console.log('b1:'+JSON.stringify(b));。
上面的代码执行后的输出结果:
[2016-05-21 11:59:52.764] [INFO] console - jsonArray:[object Object],[object Object]。
[2016-05-21 11:59:52.765] [INFO] console - jsonArray1:[{"a":1,"b":2},{"a":2,"b":3}]。
[2016-05-21 11:59:52.765] [INFO] console - b:[object Object],[object Object],[object Object]。
[2016-05-21 11:59:52.766] [INFO] console - b1:[{"a":1,"b":2},{"a":2,"b":3},{"a":3,"b":4}]。
json来做吧,先去下载下jar包。
下面是测试的代码:
try{
String str = "{'list':['1,2','3,4','5,6']}";。
JSONObject jsonObject = JSONObject.fromObject(str); //把转为json对象。
String array= jsonObject.getString("list"); //获取list的值。
JSONArray jsonArray = JSONArray.fromObject(array); //把list的值转为json数组对象。
Object[] strs = jsonArray.toArray(); //json转为数组。
for(Object s:strs){。
System.out.println(s);。
}catch(Exception e){e.printStackTrace();}。
字符串:
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似 字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入 数组。
var obj = {"pieTes":[{"colors":"Sony","value":7},{"colors":"Samsumg","value":14},{"colors":"LG","value":21},{"colors":"Vizio","value":34},{"colors":"Insignia","value":24}]};。
var arr = new Array();。
for(var i in x.pieTes) {。
arr.push([x.pieTes[i].colors, x.pieTes[i].value]);。
alert(arr);
// 输出 Sony,7,Samsung,14,LG,21,Vizio,34,Insignia,24。
alert 不会以数组形式显示,实际结果应该如图所示 console.log(arr);。