[英]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.