簡體   English   中英

如何將Array對象放入JSON?

[英]How to put an Array object into JSON?

我已經編寫了以下Javascript代碼。 最好使我的數據格式化為有效JSON:

var roles = getSelectedRoles(); // returns an Array object

/* TODO: Find a better way to get the roles into my JSON data */
var rolesString = '["' + roles[0] + '"';
if (roles.length > 1)
    for (var i = 1; i < roles.length; i++)
        rolesString += ',"' + roles[i] + '"';
rolesString += ']';                        

var lid = $('#lid').val();

var json = '{ "id": "' + lid + '", "roles":' + rolesString + '}';

如您所見,我正在通過字符串對象通過Array對象循環構建JSON。 這太丑陋了,似乎應該有一種將Array數據插入JSON的干凈方法。

如果只是將數組對象插入另一個對象,則:

var selRoles = getSelectedRoles(); 
var lid = $('#lid').val();  
var json = {
 id:lid ,
 roles: selRoles
};

如果需要將整個對象表示為String,則可以使用Douglas Crockford的JSON2.js來實現。

在頁面中包含上述js文件,然后使用:

var jsonString = JSON.stringify(json) //json is from previous code.

你能試一下嗎:

<script type="text/javascript">
var jsonObj = {
    id: lid,//$('#lid').val()
    roles:roles // getSelectedRoles()
}
var jsonStr = json_encode(jsonObj);
</script>

您可以在此處找到函數: json_encode

您可以使用角色數組的join函數:

var rolesString = '["' + roles.join('", "') + '"]';

當前的瀏覽器提供了JSON對象類型,可以使這種事情變得微不足道(JSON.stringify(obj))..例如,請參見此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM