字串轉json陣列的解決辦法
阿新 • • 發佈:2019-01-22
前提:當需要把一串字串轉成一個json 陣列 ,並遍歷其中的內容時。
第一步:首先匯入 net.sf.json.JSONArray和net.sf.json.JSONObject 兩個jar 包
Java:
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一個未轉化的字串
JSONArray json = JSONArray.fromObject(str ); // 首先把字串轉成 JSONArray 物件
if(json.size()>0){
for(int i=0;i<json.size();i++){
JSONObject job = json.getJSONObject(i); // 遍歷 jsonarray 陣列,把每一個物件轉成 json 物件
System.out.println(job.get("name")+"=") ; // 得到 每個物件中的屬性值
}
}
Js:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <HTML>
- <HEAD>
- <TITLE> New Document </TITLE>
- <SCRIPTLANGUAGE="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>
- </HEAD>
- <BODY>
- </BODY>
- </HTML>