【发布时间】:2018-03-15 20:52:37
【问题描述】:
[编辑]我后来修改了数据,它在扩展时反映在对象中,我会尽可能接受我的答案。[/编辑]
我有一个需要解析的简单 JSON 字符串:
{"Points": [{"x": 0,"y": 33},{"x": 2200,"y": 28},{"x": 4400,"y": 23},{"x": 6600,"y": 20},{"x": 8800,"y": 19},{"x": 11000,"y": 18},{"x": 13200,"y": 17},{"x": 15400,"y": 15},{"x": 17600,"y": 13},{"x": 19800,"y": 12}]}
该字符串由 C++ 代码生成,用于图形绘制。当我将它粘贴到 json 格式化程序中时,它解析得很好,给出了正确的值。我面临的问题是奇怪的 Y 值,例如数组“Points”中的第一个对象的 y 值为 20 - 字符串中的任何地方都没有 20。
见附图,它解释了一切。图片前面的代码如下:
RequestJSONParse: function(Data)
{
var Request = Data.split("|");
var RequestType = Request[0];
var RequestParams = Request[1];
var RequestData = undefined;
if (typeof Request[2] != "undefined" && Request[2] != "")
{
console.log("---");
console.log(Request[2]);
console.log("---");
RequestData = JSON.parse(Request[2]);
console.log("---");
console.log(RequestData);
console.log("---");
}
我的问题是 - 是一些特殊字符还是 JSON.parse 专门解析 x,y 值的特殊方式?或者这是一个编码问题还是我什至无法想到的问题?我从事这个项目已经 2 年了,从来没有遇到过这样的事情,而且我们的大部分 UI 都是通过解析 JSON 数据制作的。
【问题讨论】:
-
这是 20 个:
{"x": 6600,"y": 20} -
jsbin.com/paganawado/1/edit?js,console — 我无法重现该问题。
-
还要注意
RequestData日志旁边的蓝色i- 您是否在其中处理数据 - 看起来它可能在您登录后被修改,并且您正在查看修改后的数据展开后的数据。 -
@JamesThorpe 这是关键,后来我在修改数据。
标签: javascript json parsing