2014-01-07 18 views
0

我必須建立以下類型的JSON,我如何在JavaScript中構建這個json?

{ 
    "MyRquest": { 
    "-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", 
    "serialNo": "70813BACH194294", 
    "orderslist": { 
     "orderid": [ 
     "5026538", 
     "5026539" 
     ], 
     "ordersource": [ 
     "ONLINE", 
     "STORE" 
     ], 
     "transactiondtm": [ 
     "2013-10-08", 
     "2013-10-09" 
     ] 
    } 
    } 
} 

訂單ID 5026538有秩序源在線和它的交易日爲2013年10月8日。同樣,我可能有5個訂單及其相應的訂單來源和交易時間。

我該如何動態創建JavaScript的json?

+0

你爲什麼要?該結構只是要求錯誤...並行陣列通常是錯誤的良好來源;改爲使用單個對象數組。 –

+0

你真的指的是JSON嗎?你想創建一個字符串? JSON是數據交換的文本符號。 –

+0

@ T.J.Crowder亞弦格式的字符串.. –

回答

2

首先,創建對象:

var req = { 
    "MyRquest": { 
    "-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", 
    "serialNo": "70813BACH194294", 
    "orderslist": { 
     "orderid":  [], 
     "ordersource": [], 
     "transactiondtm": [] 
    } 
    } 
}; 

然後你給它添加必要的;(真的MyRquest?)並行陣列是一個脆弱的結構,可能有最好的一個函數來做到這一點:

function addOrder(req, orderId, orderSource, transactiondtm) { 
    req.MyRquest.orderslist.orderid.push(orderId); 
    req.MyRquest.orderslist.ordersource.push(orderSource); 
    req.MyRquest.orderslist.transactiondtm.push(transactiondtm); 
} 

然後,如果你真的想JSON,你序列化:

var str = JSON.stringify(req);