我想在json中使用jquery/javascript添加刪除更新元素,並且當文件提交完成到服務器時想要考慮最新的json對象。如何在javascripts/jquery中操作json對象?
你可以建議和方法我卡住了。
我想在json中使用jquery/javascript添加刪除更新元素,並且當文件提交完成到服務器時想要考慮最新的json對象。如何在javascripts/jquery中操作json對象?
你可以建議和方法我卡住了。
如前所述,您可以使用jQuery的json函數來編輯對象。讓我展示你怎麼可能做到這一點,用少許代碼:
讓我們這個JSON對象:
{
"people":[
{"name":"Bob","score":9},
{"name":"Joe","score":6},
{"name":"Tom","score":7}
],
"projects":[
{"id":2347,"entries":5},
{"id":8563,"entries":3}
],
"lastUser":"Bob"
}
現在,讓我們說你的服務器存儲,作爲一個平坦的JSON文件的某個地方......什麼我們要做的就是使用jQuery的ajax方法將其加載到客戶端,然後使用回調進行編輯。操作物體後,我們將(用於演示目的),立即將其發送回服務器端腳本,這大概會覆蓋當前的平面文件:
$.getJSON(/*path to JSON file here*/,function(response){
response.lastUser="Tom"; //This is where the sample manipulation occurs.
$.post(/* path to server-side script*/,response,function(){
alert("Object Saved");
});
});
希望幫助理解所涉及的格局!
我想要一種操縱方式..!我知道如何將它發送到服務器.. :) – Amit 2011-03-07 06:17:18
該操作在'response.lastUser =「Tom」行顯示; '。直接修改JSON對象,然後將其發回:) – johnhunter 2011-03-07 08:36:01
我在該行上寫了一條評論,以澄清操作發生的位置......對於任何混淆抱歉。 – Trafalmadorian 2011-03-08 05:04:35
解析後,可以直接在JavaScript中處理JSON數據。 (請參閱Brad對你的問題的評論)。要將更新的數據發送回服務器,您可以使用$ .post。現在,這不是解決你的問題嗎?如果不是,請詳細解釋您的問題。
我使用JSON.parse和JSON.stringify來操作。
json_flat = '{"page":"1","total":"2","ids":[{"id":"3085"},{"id":"3086"}]}'; // your flat json
json_object = JSON.parse(json_flat); //convert to an object
//Manipulation
json_object.page = "6"; //change values
delete json_object.total; //delete a value
json_flat = JSON.stringify(json_object); //convert back to flat
編輯:修改了一些錯別字:JSFiddle
這個例子當前是錯誤的,因爲'json_flat'已經是一個普通的對象,而不是一個字符串。 – 2017-05-31 16:48:22
對不起,修正了我的錯別字 – Soth 2017-06-02 14:01:41
'變種JSON = $ .parseJSON( '...'); json.oldVar ='newvalue';'? – 2011-03-07 05:41:14