[英]Parsing JSON in node.js gives an Error
我的Node.js應用程序使用GET
方法從Python后端讀取包含JSON數據的字符串。 有時,當我使用JSON.parse()
並在成功后刷新頁面時,它給出了Unexpected token ,
錯誤。
[
{
"postid":"c4jgud85mhs658sg4hn94jmd75s67w8r",
"email":"someone@gmail.com",
"post":"hello world",
"comment":[]
},
{
"postid":"c4jgud85mhs658sg4hn94jmd75s67w8r",
"email":"someone@gmail.com",
"post":"hello world",
"comment":[]
}
]
通過console.log
JSON對象,我能夠驗證它給出錯誤時僅部分打印對象(這意味着僅傳遞了對象的一部分),例如:
4hn94jmd75s67w8r",
"email":"someone@gmail.com",
"post":"hello world",
"comment":[]
}
]
要么
[
{
"postid":"c4jgud85mhs658sg
在node.js中,我只使用
var data = JSON.parse(resJSON); //resJSON is the variable containing the JSON
如果它成功“ 有時 ”,我懷疑您是在'data'
到達時解析響應,例如:
http.get('...', function (res) {
res.on('data', function (data) {
console.log(JSON.parse(data.toString()));
});
});
如果一次發送所有響應,這將起作用。 但是,它也可以分為多個塊,這些塊將通過多個'data'
事件接收。
要處理分塊的響應,您將需要將chunk
s重新組合在一起,並在流到達'end'
后將響應整體parse
。
http.get('...', function (res) {
var body = '';
res.on('data', function (chunk) {
body += chunk.toString();
});
res.on('end', function () {
console.log(JSON.parse(body));
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.