转换点符号json
Convert dot notation json
我得到了一个json对象,如下所示:
{
"c.employees": "222",
" c.arr[0].name": "thomas",
" c.arr[0].amount": 3,
}
我想把它转换成像这样的对象
{
c:{
employees:"222",
arr:[{name:thomas,amount:3}]
}
}
找不到任何解决方案:/数组是问题
没有简单的解决方案,您需要解析所有键并构建中间对象和数组。由于这并非小事,以下是代码:
var input = {
"c.employees": "222",
" c.arr[0].name": "thomas",
" c.arr[0].amount": 3,
};
var output = {};
for (var key in input) {
var tokens = key.trim().split('.'),
obj = output;
for (var i=0; i<tokens.length-1; i++) {
var m = tokens[i].match(/^('w+)'[('d+)']$/); // array ?
if (m) {
var arr = obj[m[1]];
if (!arr) arr = obj[m[1]] = [];
obj = arr[m[2]] = arr[m[2]]||{};
} else {
obj = obj[tokens[i]] = obj[tokens[i]]||{};
}
}
obj[tokens[i]] = input[key];
}
console.log(output);
demo(打开控制台)
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 如何使用西里尔符号将 php-massive 编码为 JSON
- Browserify - 在 package.json 中转换在符号链接模块中不起作用在 npm3 中
- Json via java.需要发送特殊符号
- 从 JSON 数据创建 HTML 项目符号列表时出现问题
- 转换点符号json
- Json.encode特殊符号u003c MVC3
- 序列化无符号整数(ulong)数组时,Json.NET崩溃
- 带有美元符号的JSON密钥
- 将带有符号的ES6类转换为JSON
- 使用Json删除asp.net中不需要的符号
- 使angularjs在json中转义&符号
- 解析JSON w/ @ @符号在它(数据库)
- 用重音符号javascript读取json字段
- 以美元货币显示JSON值(前置$Dollar符号)
- 将带点符号的字符串转换为JSON
- Java 中的 Json 文件无法处理转义符号