gpt4 book ai didi

javascript - JSON.stringify 和 JSON.parse 得到不同的结果

转载 作者:行者123 更新时间:2023-11-29 18:07:48 25 4
gpt4 key购买 nike

我有一个对象,我使用 JSON.stringify 创建 JSON 字符串。比我将该字符串保存到文件中。然后我读了那个文件。制作 JSON.parse 并尝试再次使用该对象。但它不再起作用了。例如,如果我使用 [i] 选择元素,它不会选择元素,而只是像字符串一样使用字符集:(

任何人都可以帮忙吗?

这是某种示例,但实际上 JSON 太长了:

{"featureCollection":
{"layers":"[
{\"layerDefinition\":
{\"currentVersion\": 10.3,
\"id\": 0,

\"supportsCoordinatesQuantization\": true,
\"advancedQueryCapabilities\":
{
\"supportsPagination\": true,

\"supportsDistinct\": true
},
\"geometryType\":
\"esriGeometryPolygon\", \"minScale\": 0,
\"maxScale\": 0,
\"extent\":
{},
\"drawingInfo\":
{\"renderer\":
{\"type\": \"simple\", \"symbol\":
{\"type\": \"esriSFS\", \"style\": \"esriSFSSolid\", \"color\": [76, 129, 205, 191], \"outline\":
{\"type\": \"esriSLS\", \"style\": \"esriSLSSolid\", \"color\": [0, 0, 0, 255], \"width\": 0.75}
}
},

最佳答案

发生的事情是 featureCollection 属性的 layers 属性不是数组,它是数组的 JSON 编码。您需要再次对其进行解码以处理内容。假设 json_obj 是完整的对象,你需要做:

var layers = JSON.parse(json_obj.featureCollection.layers);

然后你可以访问layers[i].layerDefinition.currentDefinition

我不知道为什么这样做——您可能想首先修复创建 JSON 的代码,然后删除调用 JSON.stringify() 的部分存储到 layers 属性中。

关于javascript - JSON.stringify 和 JSON.parse 得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996686/

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