[英]Problem with converting array to json in JavaScript
我有這個代碼:
var fields = [];
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
我想將fields
變量轉換為 json 字符串,但是當我使用JSON.stringify
我只得到(使用console.log
): []
如何簡單地將數組fields
轉換為 json 字符串?
好的問題出在以下行上:
fields[name] = $(name).val();
我把name
改成this
:
fields[name] = $(this).val();
並且像我想要的那樣工作。
如果您想要像字段名稱(而不是數字)這樣的文本字符串作為屬性名稱,您需要一個object ,而不是一個數組。 將fields
初始化為{}
而不是[]
。
數組的 JSON 序列化將僅包括鍵為數字的屬性,從零到.length
(減一)的值。
剛剛做了一個更正,使用對象而不是數組:
var fields = {};
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.