[英]Jquery - How to convert Array of Object to Json string
有SymbologyObject
和ValuesArray
:
var SymbologyObject = {};
var ValuesArray = [];
如下所示放入它們:
var ValueOfField = "tree";
ValuesArray[ValueOfField] = [];
var localStyle = {};
localStyle.fill = "#ffff";
localStyle.stroke = "#cccc";
localStyle.width = 3;
localStyle.value = ValueOfField;
ValuesArray[ValueOfField] = localStyle;
SymbologyObject.type = "Unique";
SymbologyObject.label = "test";
SymbologyObject.attr = "attribute";
SymbologyObject.values = ValuesArray;
當我使用console.log(SymbologyObject);
輸出為:
attr:"attribute"
label:"test"
type:"Unique"
values:
tree:{fill: "#ffff", stroke: "#cccc", width: "3", value: "tree"}
我將其轉換為json:
JSON.stringify(SymbologyObject);
上面代碼的輸出:
{"type":"Unique","label":"test","attr":"attribute","values":[]}
但我想下面的輸出:
{"type":"Unique","label":"test","attr":"attribute","values":[tree:{"fill": "#ffff", "stroke": "#cccc", "width": "3", "value": "tree"}]}
怎么了?
首先,您的變量Initialize錯誤。
您必須像下面進行初始化。
var SymbologyObject = {};
var ValuesArray = {}; //<< CHANGE
其次,請參見下面的更改。
var ValueOfField = "tree";
ValuesArray[ValueOfField] = {}; //<<CHANGE
var localStyle = {};
localStyle.fill = "#ffff";
localStyle.stroke = "#cccc";
localStyle.width = 3;
localStyle.value = ValueOfField;
ValuesArray[ValueOfField] = localStyle;
SymbologyObject.type = "Unique";
SymbologyObject.label = "test";
SymbologyObject.attr = "attribute";
SymbologyObject.values = ValuesArray;
因此,輸出將如下所示。
{"type":"Unique","label":"test","attr":"attribute","values":{"tree1":{"fill":"#ffff","stroke":"#cccc","width":3,"value":"tree1"},"tree":{"fill":"#ffff","stroke":"#cccc","width":3,"value":"tree"}}}
首先,您檢查JSON,因為它不是有效的JSOn。 `
{
"type": "Unique",
"label": "test",
"attr": "attribute",
"values": [tree: {
"fill": "#ffff",
"stroke": "#cccc",
"width": "3",
"value": "tree"
}]
}
`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.