js中將json解析為物件的兩種方法及其優劣

2021-08-08 01:24:32 字數 730 閱讀 1140

json的優點大家有目共睹,js中解析json也是有兩種方法:

第一種是json.parse  比較安全 不會執行json物件裡的js語句:

var jsonobj1 = json.parse(jsonresponse);          //jsonresponse為需要解析的json 解析後生成乙個物件儲存在jsonobj1裡

alert(jsonobj1.member); //可以直接訪問它成員member就可以得到jsonresponse中member對應的值

第二種是eval 這種方法會執行json物件中的js語句 比較危險 在解析**不明的json物件的時候可能出現危險

var jsonobj2 = eval('(' + jsonresponse + ')');   //注意前後兩個小括號千萬不能少!!!

alert(jsonobj2.member); //也是可以通過這樣的方式訪問jsonresponse的鍵值對

那麼問題來了,為什麼說eval不安全呢,當我們的jsonresponse的member對應的值是一段可執行的js**的時候,我們訪問這個值就會自動執行jsonobj2.member對應的js**,這樣做很容易引起xss攻擊,是十分危險的,所以在面對不可信的json的時候,還是推薦使用json.parse。

js 解析json物件

需求controller返回map型別的物件,前端使用js解析 遇到的問題 1 使用 responsebody 註解直接返回是mockmvc測試正常,js報500,ajax請求到controller但是執行error 解決 map的key更改成string型別可返回 小白原因不明,望大佬指教 2 s...

json 物件的解析c

string getuserobj wxgetweb.pushtoweb getuserxx 返回json 格式的字元物件如下 using newtonsoft.json 先引入這兩個命名空間 using newtonsoft.json.converters object obj new objec...

Java中將xml檔案轉化為json的兩種方式

最近一直沒有時間寫部落格,忙著找房子,天天來回折騰,光地鐵費就花了不少,最後綜合各種因素考慮,決定沙河高教園,哈哈,沒錯,別人都是越搬離公司越近,我是越搬越遠,但是直覺告訴我應該沒有錯,昨天晚上剛搬完家,收拾收拾終於安定了,坑爹的二房東再見,以後如果不出什麼特殊情況的話應該是有時間寫部落格了。好了廢...