必须两次JSON.parse才能从字符串化二维码中提取JSON对象

必须两次JSON.parse才能从字符串化二维码中提取JSON对象,json,typescript,react-native,Json,Typescript,React Native,我有一些JSON { id: "abcd", type: "receive" } 我使用一些在线二维码生成器将其字符串化并生成二维码。在我的react native应用程序中,我正在使用react native qrcode scanner扫描此qr码,该qr码调用一个onSuccess(qrcode:Event)函数 我已按如下方式设置该函数: 成功时的函数(qrCode:事件){ console.log(qrCode.data); const parsedData=JSON

我有一些JSON

{
    id: "abcd",
    type: "receive"
}
我使用一些在线二维码生成器将其字符串化并生成二维码。在我的react native应用程序中,我正在使用
react native qrcode scanner
扫描此qr码,该qr码调用一个
onSuccess(qrcode:Event)
函数

我已按如下方式设置该函数:

成功时的函数(qrCode:事件){ console.log(qrCode.data); const parsedData=JSON.parse(qrCode.data); console.log(parsedData); console.log(解析数据的类型); console.log(parsedData.id); const parsedData2=JSON.parse(parsedData); console.log(parsedData2.id); 导航。导航(“主页”); } 这将提供以下输出

"{\"type\":\"receive\",\"id\":\"abcd\"}"
{"type":"receive","id":"abcd"}
string
undefined
abcd
所以基本上,
qrCode.data
是一个
字符串,这是预期的
parsedData
像对象一样输出,但具有
typeof
string
。访问
parsedData
上的属性会给出
undefined
——如果它是字符串,这是有意义的。当我第二次将它解析为
parsedData2
时,这是一个对象,我可以访问它的属性

我的困惑是,为什么它不只是第一次解析它?为什么我要做两次