JavaScript解析json格式數(shù)據(jù)簡單示例

2023-04-17 15:30 更新

本文通過for循環(huán)來獲取json結(jié)點數(shù)據(jù),需要的朋友可以參考以下這串json數(shù)據(jù)用來存儲預(yù)加載的圖片路徑:

代碼如下:
var imgData = [{
        name: "p1",
        src: "images/p1.jpg"
    }, {
        name: "p2",
        src: "images/p2.jpg"
    }, {
        name: "p3",
        src: "images/p3.jpg"
    }, {
        name: "p4",
        src: "images/p4.jpg"
    }, {
        name: "p5",
        src: "images/p5.jpg"
    }
]

下面這個函數(shù)可通過json每行的name來獲取該行的路徑src,讓我們看一下代碼:

代碼如下:
function getData(name) {
    var picArr = imgData;
    var picSrc;
    for (var i = 0; i < picArr.length; i++) {
        var cur_person = picArr[i];
        if (cur_person.name == name) {
            picSrc = cur_person.src;
        }
    }
    return picSrc;
}

函數(shù)執(zhí)行后將返回該行的src。

代碼如下:
var g = getData("p1");
console.log(g);

輸出后即可看到結(jié)果為:images/p1.jpg

JS對象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換

JS對象和JSON格式數(shù)據(jù)的相互轉(zhuǎn)換其實就是兩個問題:JS對象轉(zhuǎn)換成為JSON格式數(shù)據(jù)、JSON格式數(shù)據(jù)轉(zhuǎn)換成為JS對象。目前的項目數(shù)據(jù)交互幾乎都用JQuery,所以處理流程是:前端頁面數(shù)據(jù)-》JS對象-》jQuery提交-》python處理,另外一種就是倒過來。python肯定不能直接處理JS對象數(shù)據(jù),所以要把JS對象轉(zhuǎn)換成為python能處理的一種數(shù)據(jù)格式(通常是字典dict),同樣,python取數(shù)據(jù)反饋到前端也要把字典數(shù)據(jù)轉(zhuǎn)換成JS能處理的對象,這個中間轉(zhuǎn)換數(shù)據(jù)格式通常就是JSON。 

一、JS對象轉(zhuǎn)換成為JSON 

流程:讀取前端頁面數(shù)據(jù),組裝成為JS對象,并通過jQuery的$.post()方法傳遞給python。 

處理:引用一個json2.js文件,調(diào)用JSON.stringify()方法。例如:
var data = new Object(); 
var json_data = JSON.stringify(data); 
讀?。簆ython這里就很簡單了,用dict_data = json.loads(json_data)就OK了 

二、JSON轉(zhuǎn)換成為JS 

流程:python組裝一個dict數(shù)據(jù)并轉(zhuǎn)成JSON格式傳遞給前端,或者前端通過jQuery的$.getJSON()方法直接讀取這個JSON格式的數(shù)據(jù) 
處理:用jQuery的一個方法$.parseJSON()將JSON格式的數(shù)據(jù)轉(zhuǎn)成JS對象。例如:
var json_data = $.getJSON(); 
var data = $.parseJSON(json_data); 
讀?。篔S對像的操作就不必多說了 
這里,python要把字典轉(zhuǎn)換成JSON格式數(shù)據(jù),用json.dumps()這個方法就行了 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號