2 helf19920825 helf19920825 于 2015.06.09 11:18 提问

Android中将ArrayList<Map<String,Object>>()转换为Json数据

大神求解现在需要将一个ArrayList>()转换为Json数据类型!怎么转换啊?

6个回答

u014708524
u014708524   2015.06.09 11:27
<SCRIPT LANGUAGE="JavaScript">


var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 
'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 
'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] 
}";

    var jsonobj=eval('('+t+')');

    alert(jsonobj.firstName);

    alert(jsonobj.lastName);



var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";

var myobj=eval(t2);

for(var i=0;i<myobj.length;i++){

   alert(myobj[i].name);

   alert(myobj[i].age);

}


var t3="[['<a href=# 
onclick=openLink(14113295100,社旗县国税局桥头税务
所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','
社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";

//通过eval() 函数可以将JSON字符串转化为对象

var obj = eval(t3);

for(var i=0;i<obj.length;i++){

   for(var j=0;j<obj[i].length;j++){

alert(obj[i][j]);

   }


}


/*

//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

var jsonText = JSON.stringify(obj);

alert(jsonText);


//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

var myObject = JSON.parse(myJSONtext, filter);  

//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

//如

myData = JSON.parse(text, function (key, value) {       


return key.indexOf('date') >= 0 ? new Date(value) : value;    });


//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

var myJSONText = JSON.stringifier(myObject);

*/

</SCRIPT>


weikzhao0521
weikzhao0521   2015.06.09 11:34

类似代码如下:
/**
* java对象转换为json对象
*
* @throws JSONException
*/
@Test
public void javaToJson(){
SimInfo simInfo=new SimInfo();
simInfo.setAddTime(UtilTool.dateToStr(new Date(), null));
simInfo.setIccid("1111");
simInfo.setImei("2222");
simInfo.setImsi("3333");
simInfo.setPhoneType(4);
simInfo.setRemark("aaaa");
simInfo.setTel("5555");
//java对象转换为json对象
String json=new JSONArray().fromObject(simInfo).toString();

    System.out.println("json: "+json);
}
helf19920825
helf19920825 fromObject 这个方法我怎么没有?
2 年多之前 回复
fcxxxer
fcxxxer   2015.06.09 13:30
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.09 13:39
u011133213
u011133213   2015.06.09 18:47

你直接用Gson去转换就好了,网上搜一下相关的很容易!

xby1993
xby1993   2015.06.10 00:41

使用Gson:
Gson教程:

 Gson gson = new Gson();  
Collection<Integer> ints = Lists.immutableList(1,2,3,4,5);  

(Serialization)  
String json = gson.toJson(ints); ==> json is [1,2,3,4,5]  

(Deserialization)  
Type collectionType = new TypeToken<Collection<Integer>>(){}.getType();  
Collection<Integer> ints2 = gson.fromJson(json, collectionType);  
Csdn user default icon
上传中...
上传图片
插入图片