2014-02-18 37 views
0

我需要幫助將JSON字符串轉換爲JSON對象。 這裏是我的變量:將動態字符串轉換爲JSON對象

var myString= "{ title: 'mySchema'," + "root: {id:'" + var1 + "'," + "title:'" + var2 + "'," + "subtitle:'" + var3 + "',"; 
childrenVar = myString + "{ id: '" + var1 + "'," + "title: '" + var2 + "'," + "subtitle: '" + var3 + "'," + "type: '" + var4 + "'"; 

myString= getChildNodes(tasksEntries, head, liststring); 
myString= myString + "},";} 
myString= myString+ "]}}"; } 
myString= childrenVar; 
myString= childrenVar; 
JSON.stringify(myString); 
$.parseJSON(myString); 

這是myString輸出這個時候我調試:

{title: 'mySchema', 
root: { 
    id:'1', 
    title:'oOB', 
    subtitle:'Hang Chaw', 
    children: [ 
     { 
     id: '2', 
     title: 'OaK', 
     subtitle: 'Ke Man', 
     type: 'VA' 
     }, 
     { 
     id: '3', 
     title: 'OOB', 
     subtitle: 'Hung Aslew', 
     type: 'VA' 
     }, 
    ] 
    } 
}; 
+0

這些行的含義是什麼..... myString = myString +「]}}」; } myString = childrenVar;你重寫myString的值.....只需創建適當的字符串,並{{obj = JSON.parse(myString)} – Piyuesh

+0

@Piyuesh'myString = myString +「]}};'是一個連接語句。覆蓋原始值 – Bic

+0

我真的不清楚你用這段代碼試圖達到什麼目的你是從一個對象創建JSON嗎?從JSON創建一個對象?無論哪種情況,都沒有必要做任何字符串處理。通過使用正確的術語來澄清你的問題。我假設你的意思是一個包含JSON的字符串,並且通過「JSON對象」一個JavaScript對象來代替它。 –

回答

0

除去接近陣列之前的最後一個逗號(])。

0

您還需要圍繞對象鍵引號。正確的JSON字符串看起來像下面的字符串。 jQuery.parseJSON

下面是一個示例Fiddle,其中字符串轉換爲對象,然後記錄到控制檯。

var myString = '{"title": "mySchema","root": {"id":"1","title":"oOB","subtitle":"Hang Chaw","children": [{ "id": "2","title": "OaK","subtitle": "Ke Man","type": "VA"},{ "id": "3","title": "OOB","subtitle": "Hung Aslew","type": "VA"}]}}'; 

這裏是相同的Fiddle,使用JSON.parse。最新版本的JavaScript本身支持JSON。如果你只使用jQuery來解析JSON字符串,那麼你應該使用JSON.parse,而不是包含jQuery庫。

+0

使用JSON.parse而不是jQuery.parseJSON –

+0

@FUserThrowError OP例子是使用$ .parseJSON,這就是爲什麼我的解決方案也一樣.JSON.parse和$ .parseJSON具有相同的影響。 – Bic

相關問題