从包含多维的字符串构建 JSON 对象
Build JSON Object from string containing multi-dimensional
我有一个名称/值对象数组(如下)。 名称的格式设置为表示多维数组。
我需要从中构建一个完整的JavaScript对象(底部)。
[{
name: "getQuote[origin]",
value: "Omaha,NE"
},
{
name: "getQuote[destination]",
value: "10005"
},
{
name: "getQuote[country]",
value: "us"
},
{
name: "getQuote[vehicles][0][year]",
value: "1989"
},
{
name: "getQuote[vehicles][0][make]",
value: "Daihatsu"
},
{
name: "getQuote[vehicles][0][model]",
value: "Charade"
},
{
name: "getQuote[vehicles][0][count]",
value: "1"
}]
变成这样的东西:
{getQuote :
{ origin : Omaha},
{ destination : 10005},
{vehicles : [
{
year : 1989,
make: Honda,
model : accord
},
{
//etc
}]
n
您可以手动执行此操作,如下所示:
var source = [ /* Your source array here */ ];
var dest = {};
for(var i = 0; i < source.length; i++)
{
var value = source[i].value;
var path = source[i].name.split(/['[']]+/);
var curItem = dest;
for(var j = 0; j < path.length - 2; j++)
{
if(!(path[j] in curItem))
{
curItem[path[j]] = {};
}
curItem = curItem[path[j]];
}
curItem[path[j]] = value;
}
dest
是生成的对象。
在这里检查它是否正常工作:http://jsfiddle.net/pnkDk/7/
相关文章:
- 从Javascript动态构建JSON对象列表
- 使用 Jquery 以正确的格式构建 JSON
- 正在构建json响应.NodeJS发送空响应
- 动态构建 json 对象
- 如何结合表单数据构建 JSON 数据
- 当连接在一起时,如何使用两个部分构建 JSON 对象,生成正确的 JSON 数据路径
- 使用 javascript/jQuery 构建 JSON 字符串
- 从包含多维的字符串构建 JSON 对象
- 在构建 JSON 对象时跳过表单字段值
- 构建 json 树结构
- 如何为层次结构目的构建 Json 对象
- 如何构建 json 跨域调用 php
- 无法为 Google 图表构建 json 数据表
- 如何使用嵌套的 JSON 对象构建 JSON 对象
- 在 Javascript 中使用内部数组构建 JSON-Object
- Node.js-使用多个查询异步构建JSON
- jQuery如何从多个类似的输入字段构建JSON数组
- Backbone.js:从集合构建JSON数组
- 构建JSON字符串
- 在PHP中构建JSON时转义字符并在<脚本>