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

2023-04-17 15:30 更新

本文通過(guò)for循環(huán)來(lái)獲取json結(jié)點(diǎn)數(shù)據(jù),需要的朋友可以參考以下這串json數(shù)據(jù)用來(lái)存儲(chǔ)預(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"
    }
]

下面這個(gè)函數(shù)可通過(guò)json每行的name來(lái)獲取該行的路徑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對(duì)象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換

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

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)