js將字符串轉換成json的三種方式


1,js自帶的eval函數,其中需要添加小括號eval('('+str+')');

function strToJson(str){
var json = eval('(' + str + ')');
return json;
}

2,new Function形式

function strToJson(str){
var json = (new Function("return " + str))();
return json;
}

3,全局的JSON對象

function strToJson(str){
return JSON.parse(str);
}

 

使用JSON.parse需嚴格遵守JSON規范,如屬性都需用引號引起來,如下

 代碼如下:

var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error

name沒有用引號引起來,使用JSON.parse所有瀏覽器中均拋異常,解析失敗。

 

補充:如果是在java中就好辦了,根本用不上JsonObcjec之類,牛人都是用String拆分和拼湊

相關知識,

JSONObject

構造方法如下:

JSONObject();創建一個空的JSONObject對象

JSONObject(boolean isNull);創建一個是否為空的JSONObject對象

普通方法如下:

fromBean(Object bean);靜態方法,通過一個pojo對象創建一個JSONObject對象

fromJSONObject(JSONObject object);靜態方法,通過另外一個JSONObject對象構造一個JSONObject對象

fromJSONString(JSONString string);靜態方法,通過一個JSONString創建一個JSONObject對象

toString();把JSONObject對象轉換為json格式的字符串

iterator();返回一個Iterator對象來遍歷元素

 

 

JSONArray:A JSONArray is an ordered sequence of values.

是一個final類,繼承了Object,實現了JSON接口

構造方法如下:

JSONArray();構造一個空的JSONArray對象

普通方法如下:

fromArray(Object[] array);靜態方法,通過一個java數組創建一個JSONArray對象

fromCollection(Collection collection);靜態方法,通過collection集合對象創建一個JSONArray對象

fromString(String string);靜態方法,通過一個json格式的字符串構造一個JSONArray對象

toString();把JSONArray對象轉換為json格式的字符串

iterator();返回一個Iterator對象來遍歷元素

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM