我正在构建动态 xChart .我传递的动态数据是一个预建的字符串,准备通过 js 转换为对象:
{"data": [{"x":"car insurance companies","y":1417},
{"x":"insurance companies","y":17201},
{"x":"auto insurance companies","y":892},
{"x":"car insurance quote","y":3280},
{"x":"auto insurance quote","y":988}]}
这是 xCharts 需要的参数代码示例片段:
var data = {
"xScale": "ordinal",
"yScale": "linear",
"main": [
{
"className": ".pizza",
"data": [
{
"x": "Pepperoni",
"y": 4
},
{
"x": "Cheese",
"y": 8
}
]
}
]
};
这是我的参数集:
var vars = {
"xScale": "ordinal",
"yScale": "linear",
"type": "bar",
"main": [
{
"className": ".topsy-results"
}
]
};
我需要将我的 data
对象添加到我的参数列表中的 main
对象以使其完整。如果我 $.parseJSON
data
对象,它会给我一个无法工作的对象对象。如何解析 data
对象以获得我需要的格式(使其与我提供的示例代码匹配)?
最佳答案
使用 $.extend
并合并两者?
var prebuilt = {...}; //that pre-build data
var vars = {...}; // Your vanilla settings
var merged = $.extend({}, vars, {
'main': prebuilt
});
我已将 prebuilt
放入另一个对象中,因此嵌套在扩展时会起作用,但现在 prebuilt
应该显示在 data
中merged
对象。 注意: $.extend
很有用,如果您不仅有数据信息,或者如果 data
属性中已经存在部分并且您想要更新它们或添加新的)。
您也可以通过引用简单地分配它:
vars.main.data = prebuilt.data;
关于javascript - 将字符串作为对象添加到已存在的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14940777/