js解析json化map问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js解析json化map问题相关的知识,希望对你有一定的参考价值。
后台执行查询订单操作,将一个jsonArray(订单信息的json对象数组),2个int类型(页码总数,订单信息总条数)封装到map中然后序列化为json对象:
使用了@responsebody注解。
前台 alert(data)可以获取数据。格式如下:
“pageTotalNums”:18,“pagenull”:true,“orders::[,,]
前台怎么解析map?就是如何获取orders,pageTotalNums?
首先你把data对象化,然后通过d.pageTotalNums等直接获取
按照你这个,如果你要获取的是orders里面的内容的话,你要先
var o=d.orders;
然后再each循环获取里面的 参考技术A JSONObject json = new JSONObject();
Map kindMap = new HashMap();
//存
kindMap.put("A", A);
kindMap.put("B", B);
kindMap.put("C", C);
json.put(A, kindMap);
//直接获取orders的json数组或者字符串
json.getJSONArray((jsonKey).get("A"));
json.getJSONObject(String) jsonKey).get("A");
Node.js/ Express POST 请求正文被解析为不正确的 JSON
【中文标题】Node.js/ Express POST 请求正文被解析为不正确的 JSON【英文标题】:Node.js/ Express POST Request Body Parsed into Incorrect JSON 【发布时间】:2015-05-31 10:45:12 【问题描述】:我有一个 Polymer core-ajax
组件将一些数据发送到 Node.js 服务器。数据正在正确发送(我可以使用 Go Web 服务器对其进行解析),但 Node 将其解析为字符串化主体,即 JSON 对象中空白字符串的键:
'"count":-1,"uid":1': ''
这是从 Polymer 发送请求的代码:
sendCount: function(change)
console.log("Sending...");
console.log(JSON.stringify("count": change, "uid": this.uid));
// ^ This prints: "count":-1,"uid":1
this.$.ajax.body = JSON.stringify("count": change, "uid": this.uid);
this.$.ajax.go();
这是节点代码:
app.post("/post", function(req, res)
console.log(res.headers);
console.log(req.body); // Prints '"count":-1,"uid":1': ''
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(req.body));
);
当我收到响应时,它返回了格式错误的 JSON。
我应该如何正确解析 Node 中的 JSON?
还有:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded( extended: false ));
【问题讨论】:
设置ajax.body
等于对象,而不是JSON.stringify(object)
。
您是否设置了core-ajax
属性contentType="application/json"
和handleAs="json"
?我这样做并在将其设置为 ajax.body 之前对 JSON 进行了字符串化,它适用于节点。
@idleherb 完成了。想要将其作为答案提交?
很高兴能帮上忙,谢谢伙计!
【参考方案1】:
设置core-ajax
属性contentType="application/json"
和handleAs="json"
,并在设置为ajax.body
之前对JSON进行字符串化。
【讨论】:
以上是关于js解析json化map问题的主要内容,如果未能解决你的问题,请参考以下文章