gpt4 book ai didi

javascript - JSONLint 说有效的 JSON,但我无法在 JavaScript 中从中获取值

转载 作者:行者123 更新时间:2023-11-28 03:31:27 25 4
gpt4 key购买 nike

我正在尝试从 JavaScript 中的 GET 请求解析 JSON。我可以通过 JSONLint 和其他工具运行它,这很好。如果我将确切的结果复制/粘贴到 JavaScript 中,我也可以访问对象中的值。

以下是 JSON 结构的简短示例:

{
"odata.metadata": "EXAMPLE.com/$metadata#EXAMPLE.results",
"value": [{
"SerialNo_Company": "1",
"Calculated_AsBuilt": "AsBuilt",
"SerialNo_SerialNumber": "1",
"SerialNo_PartNum": "2A",
"JobHead_RevisionNum": "A",
"JobMtl_MtlSeq": 30,
"JobMtl_PartNum": "A123",
"JobMtl_RevisionNum": "A",
"JobMtl_Description": "KEY",
"JobMtl_QtyPer": "1.00000000",
"JobMtl_IUM": "EA",
"JobHead_JobNum": "13",
"JobMtl_IssuedQty": "2.00000000",
"JobMtl_RequiredQty": "2.00000000",
"RowIdent": "7e91b43a-897c-49b4-b68f-307b9ba74832"
}, {
"SerialNo_Company": "1",
"Calculated_AsBuilt": "AsBuilt",
"SerialNo_SerialNumber": "1",
"SerialNo_PartNum": "2A",
"JobHead_RevisionNum": "A",
"JobMtl_MtlSeq": 30,
"JobMtl_PartNum": "A123",
"JobMtl_RevisionNum": "A",
"JobMtl_Description": "KEY",
"JobMtl_QtyPer": "1.00000000",
"JobMtl_IUM": "EA",
"JobHead_JobNum": "14",
"JobMtl_IssuedQty": "2.00000000",
"JobMtl_RequiredQty": "2.00000000",
"RowIdent": "6251fbaf-36d0-4fcf-b65a-9dde70ffb13d"
}]
}

虽然这种格式并不完全正确,但它实际输出的结构如下:

"{\r\n  \"odata.metadata\":\"EXAMPLE.com/$metadata#Example.results\",\"value\":[\r\n    {\r\n      \"SerialNo_Company\":\"1\",\"Calculated_AsBuilt\":\"AsBuilt\",\"SerialNo_SerialNumber\":\"1\",\"SerialNo_PartNum\":\"2A\",\"JobHead_RevisionNum\":\"A\",\"JobMtl_MtlSeq\":30,\"JobMtl_PartNum\":\"A13518N-28-KS\",\"JobMtl_RevisionNum\":\"A\",\"JobMtl_Description\":\"KEY\",\"JobMtl_QtyPer\":\"1.00000000\",\"JobMtl_IUM\":\"EA\",\"JobHead_JobNum\":\"13\",\"JobMtl_IssuedQty\":\"2.00000000\",\"JobMtl_RequiredQty\":\"2.00000000\",\"RowIdent\":\"111531e1-f4da-4d2d-b980-0074227a474e\"\r\n    }\r\n  ]\r\n}

例如,当我尝试在 JavaScript 中硬编码时查询第一个结构时

object.value[0]

我得到了第一个值,一切都很好。

第二个查询不会返回相同查询的值。我删除了 \r\n 但它不起作用。另外,JSON.stringify() 在结构中放入了一堆反斜杠,我不知道为什么。

感谢您的阅读,如果您已经读到这里,请提供帮助。

最佳答案

解决方案是更改我的 node.js 应用程序中的输出。我正在使用 res.json() 并且它对响应进行了双重编码。输出结果为 JavaScript 可读格式。感谢异端猴子的回答

关于javascript - JSONLint 说有效的 JSON,但我无法在 JavaScript 中从中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com