Javascript JSON解析SyntaxError:位于1的JSON中的意外标记o

时间:2018-03-11 13:37:54

标签: javascript json

我使用flask.jsonify(myobject = myobject)从烧瓶发送一个json字符串

在Firefox webconsole网络监视器中的客户端上,我可以看到网络响应JSON:

from numpy import array

a = [array([0, 1, 2, 3, 4]), array([0, 1, 2, 3]), array([0, 1, 2, 3, 4]),
     array([0, 1, 2, 3, 4, 5, 6, 7, 8]), array([0, 2, 3, 4, 5, 8, 9])]

res = [[(i,), tuple(j for j in arr if j != i)] for i, arr in enumerate(a)]

# [[(0,), (1, 2, 3, 4)],
#  [(1,), (0, 2, 3)],
#  [(2,), (0, 1, 3, 4)],
#  [(3,), (0, 1, 2, 4, 5, 6, 7, 8)],
#  [(4,), (0, 2, 3, 4, 8, 9)]]
chrome中的

res_dict = {i: tuple(j for j in arr if j != i) for i, arr in enumerate(a)}

# {0: (1, 2, 3, 4),
#  1: (0, 2, 3),
#  2: (0, 1, 3, 4),
#  3: (0, 1, 2, 4, 5, 6, 7, 8),
#  4: (0, 2, 3, 4, 8, 9)}

我正在尝试使用以下方法阅读此对象:

myobj: {"date": {"0":"2018-03-10T00:00:00.000Z","1":"2018-03-11T00:00:00.000Z","2":"2018-03-12T00:00:00.000Z"},"value":{"0":18.45,"1":10.11,"2":16.16}}

我收到以下错误:

错误:SyntaxError:JSON.parse:JSON数据第1行第2列的意外字符

我也试过了:

"myobj": "{\"date\":{\"0\":\"2018-03-10T00:00:00.000Z\",\"1\":\"2018-03-11T00:00:00.000Z\",\"2\":\"2018-03-12T00:00:00.000Z\"},\"value\":{\"0\":18.45,\"1\":10.11,\"2\":16.16}}"

我收到以下错误:

错误:SyntaxError:位置1的JSON中出现意外的标记o

当我使用

var data = JSON.parse(JSON.stringify(myobj))

我将每个字符打印在一个新行上。

我意识到之前可能会问过类似的qq,但是我无法解决这个问题

任何想法

2 个答案:

答案 0 :(得分:3)

删除对JSON.stringify的内部调用。您获得的响应已经是有效的JSON字符串。

let myobj = "{\"date\":{\"0\":\"2018-03-10T00:00:00.000Z\",\"1\":\"2018-03-11T00:00:00.000Z\",\"2\":\"2018-03-12T00:00:00.000Z\"},\"value\":{\"0\":18.45,\"1\":10.11,\"2\":16.16}}"

console.log(JSON.parse(myobj))

答案 1 :(得分:0)

请在您的回复正文中删除"myobj":,只需"{\"date\":{\"0\":\"2018-03-10T00:00:00.000Z\",\"1\":\"2018-03-11T00:00:00.000Z\",\"2\":\"2018-03-12T00:00:00.000Z\"},\"value\":{\"0\":18.45,\"1\":10.11,\"2\":16.16}}"即可。



var myobj = "{\"date\":{\"0\":\"2018-03-10T00:00:00.000Z\",\"1\":\"2018-03-11T00:00:00.000Z\",\"2\":\"2018-03-12T00:00:00.000Z\"},\"value\":{\"0\":18.45,\"1\":10.11,\"2\":16.16}}";
console.log(JSON.parse(myobj));