如何从JSON响应中删除特定数据
How can i remove particular data from JSON response
我得到了这样的服务响应。
Temp([
{
XXX: "2",
YYY: "3",
ZZZ: "4"
},
{
XXX: "5",
YYY: "6",
ZZZ: "7"
},
{
XXX: "1",
YYY: "2",
ZZZ: "3"
}
]);
我想在javascript中删除这个响应消息的临时,如下所示。
[
{
XXX: "2",
YYY: "3",
ZZZ: "4"
},
{
XXX: "5",
YYY: "6",
ZZZ: "7"
},
{
XXX: "1",
YYY: "2",
ZZZ: "3"
}
]
假设您从哪里获得JSONP响应的源是安全的,并且它始终提供正确的JSONP响应。
基本上,这意味着你会得到这样的回应:
functionName(jsonString)
就像你的例子:
Temp([{"XXX":"2","YYY":"3","ZZZ":"4"},{"XXX":"5","YYY":"6","ZZZ":"7"},{"XXX":"1","YYY":"2","ZZZ":"3"}])
提取JSON-方法1
如果您只需要响应函数参数中的对象,您可以这样做:
var jsonObject = null;
try
{
var response = 'Temp([{"XXX":"2","YYY":"3","ZZZ":"4"},{"XXX":"5","YYY":"6","ZZZ":"7"},{"XXX":"1","YYY":"2","ZZZ":"3"}])';
var temp = response.split('(');
delete temp[0];
temp = temp.join('(').split(')');
delete temp[temp.length-1];
temp = temp.join(')');
temp = temp.substring(1, temp.length-1);
jsonObject = JSON.parse(temp);
}
catch(ex)
{
}
console.log(jsonObject);
提取JSON-方法2使用这种方法实际上允许使用多个json对象作为函数参数。假设您不知道JSONP结果要调用什么方法名称。
所以我们可以做一些类似的事情:
var response = 'Temp([{"XXX":"2","YYY":"3","ZZZ":"4"},{"XXX":"5","YYY":"6","ZZZ":"7"},{"XXX":"1","YYY":"2","ZZZ":"3"}])';
try{
var fnName = response.split('(')[0];
var fn = new Function(fnName, response);
var jsonObject = null;
fn(function(json){
jsonObject = json;
});
console.log(jsonObject);
}
catch(ex){
console.log(ex.message);
}
首先我不认为这是JSON响应。正确的JSON响应应该是这样的。
{
"temp": [
{
"XXX": "2",
"YYY": "3",
"ZZZ": "4"
},
{
"XXX": "5",
"YYY": "6",
"ZZZ": "7"
},
{
"XXX": "1",
"YYY": "2",
"ZZZ": "3"
}
]
}
然后可以使用提取数组。
response["temp"]
相关文章:
- Laravel 5.2:如何使用Ajax发布和删除数据
- getJSON()-如何删除数据参数前面的AND符号
- 从json数组中删除数据
- Knockoutjs:只在文本框中写入内容时显示内容,在删除数据时隐藏内容
- 无法删除数据表jquery中的多行
- 根据条件删除数据行
- 在$invalid上添加验证指令并从文本框中删除数据的指令
- 从页面上点击的链接中删除数据,然后移动到下一页&在CasperJS中重复
- 正在删除数据(刷新)WebGL Globe
- d3j :删除数据集
- 轨道:找不到文件“提前输入.js”.直到我删除“数据涡轮链接”
- 如果要使用 JSP 和 Java 脚本删除数据,则需要一个确认框
- 删除数据网格 (Dojo) 和表 (数据网格) 的实例正确显示
- 如何从子元素中删除数据目标和数据切换,或禁止元素触发事件
- 在 d3 中单击画布时删除数据
- JSON 解析或删除数据中的双引号,获取表单模型或 rails 中的数据库
- 如何从 php 文件向 json 文件添加和删除数据
- AngularJS:ng-switch从输入字段中删除数据
- 从嵌套对象中删除数据而不发生突变
- 在挖空.js中删除数据后刷新视图模型