簡體   English   中英

無法將兩個對象與Json.parse和Json.stringify結合在一起

[英]Cannot get two objects united with Json.parse and Json.stringify

我對如何聯合對象以及如何在節點js中給出明確的響應表示懷疑。

對象是這樣的:

{
    "idP": 1,
    "pasaporteNum": 787643682,
    "fidP": 1,
    "fid_p": 1
}

另一個還:

{
    "idP": 1,
    "pasaporteNum": 827348,
    "fidP": 1,
    "fid_p": 75683475
}

因此,代碼類似於:

var a = JSON.stringify(context.instance[0].dataValues)
var b = JSON.stringify(context.instance[2].dataValues)
 res.send('{'+JSON.parse(a+','+b)+'}')

為什么我會收到此錯誤?

 "Unexpected token , in JSON at position 53"

最后,我需要以下內容:

{
    "idP": 1,
    "pasaporteNum": 787643682,
    "fidP": 1,
    "fid_p": 1
},
{
    "idP": 4,
    "pasaporteNum": 456789,
    "fidP": 2,
    "fid_p": 2
}

問候

看到有兩個具有相同屬性的對象,您可能只想在字符串化之前將它們添加到數組中

var arr = [context.instance[0].dataValues, context.instance[2].dataValues]

res.send( JSON.stringify( arr ) )

我認為您希望具有JSON格式並從您的api發送,因此您不需要JSON.parse()而是JSON.stringify()

var a = JSON.stringify(context.instance[0].dataValues);
var b = JSON.stringify(context.instance[2].dataValues);
res.send('{' + JSON.stringify(a + ',' + b) + '}');

與您的格式,您想要一個數組而不是object。 res.send( '[' + JSON.parse(A + ' '+ B)+']')

或更簡單的你可以做

 JSON.stringify([context.instance[0].dataValues,context.instance[2].dataValues]) 

您不需要使用.stringify().parse() ,就像創建數組並發送它一樣。

res.send([context.instance[0].dataValues, context.instance[2].dataValues])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM