在Angular Js中解析非标准JSON
Parsing Non Standard JSON in Angular Js
我从一个rest式服务得到一个JSON响应,格式如下,
{
"comments":{
"columns":[
"clientId",
"treatmentDate",
"comments",
"photo",
"practitioner"
],
"records":[
[
"1",
"2016-09-12",
"Some Coments",
"0",
"Doc 4"
],
[
"1",
"2016-09-11",
"DDD oNE",
"1",
"Docc 3"
]
]
}
}
Record从表名开始,然后是单独的列和记录数组。Angular不接受这种格式的数据。但是,如果我像下面这样提供标准格式的数据,它就可以完美地工作。
[
{
"clientId":"1",
"treatmentDate":"2016-09-12",
"comments":"Some Coments",
"photo":"0",
"practitioner":"Doc 4"
},
{
"clientId":"1",
"treatmentDate":"2016-09-11",
"comments":"DDD oNE",
"photo":"1",
"practitioner":"Docc 3"
}
]
是否有一个指令,可以为我做到这一点,或者我应该创建一个自定义函数,任何想法?
是否存在不能手动重塑数据以符合预期形式的原因?
var data = json.comments.records.map(function(record) {
return json.comments.columns.reduce(function(reshaped, columnName, idx) {
reshaped[columnName] = record[idx];
return reshaped;
}, {});
});
不过要小心;这期望records
中每个数组的长度始终与列名的数量相同。
相关文章:
- 获取非标准模式中的子字符串
- 使用Javascript为select标记添加非标准属性
- 从非典型json数组中获取值
- 在 angularjs 中适应非标准属性
- 替换/限制 CKEDITOR 中的非标准字符
- 树中节点的非标准检查
- 使用非标准REST API的Ember数据
- 使用非标准密钥长度调用CryptoJS.AES.encrypt/decrypt时,如何处理AES密钥
- 为什么在DOM中插入中间非标准元素会破坏flex框
- 解析非标准 JSON
- 如何从angular.js中的非标准目录加载部分文件?
- 我可以使用WebRTC接收非标准RTP流吗?
- 是否有可能本地扩展web API以允许CSSRule.cssText返回非标准css属性
- 从Ajax请求中同时使用缓存和非缓存JSON
- 使用非标准属性
- 使用jQuery自动完成与非标准选项
- Regexp:排除一个单词,但包含非标准标点符号
- 在JavaScript文件中使用非标准字符导致IE错误
- 在Angular Js中解析非标准JSON
- 如何使用javascript或jquery读取非标准json文件