Javascript JSON分析错误:意外标识符“0”;“未定义”;尝试从数组分析对象时(React Native)
我已经创建了一种在异步存储中以我想要的方式存储数据的方法。这包括:Javascript JSON分析错误:意外标识符“0”;“未定义”;尝试从数组分析对象时(React Native),javascript,arrays,json,reactjs,react-native,Javascript,Arrays,Json,Reactjs,React Native,我已经创建了一种在异步存储中以我想要的方式存储数据的方法。这包括: 读取各种输入(各种数组) 将输入存储在包含多个数组的本地this.state.object中 字符串化this.state.object 将字符串化对象存储在临时数组中 将包含所有对象的数组分配到另一个状态,this.state.allObjects 字符串化“this.state.allObjects” 在异步存储中存储字符串化阵列 所有这些的最终目标是拥有一个对象数组,每个对象表示同一类型的一个非常不同的实例(具有不同的参数
this.state.object
中this.state.object
this.state.allObjects
this.state.allObjects[x]
中的任何内容时,就会出现问题。或者更确切地说,它只发生在我需要访问它的情况下,而不是在我加载它之后
在我的loadfromsync
函数中,我完全能够执行this.state.allObjects=JSON.parse(fromsync)
获取字符串化对象的数组,然后var display=JSON.parse(this.state.allObjects[0]).name
检索数组中第一个已解析对象的名称
在这个函数之外的任何时候,当我尝试调用var display=JSON.parse(this.state.allObjects[0]).name
或者更简单的{JSON.parse(this.state.allObjects[0]).name}
时,我都会收到以下错误:
- 跑步时
- 跑步的时候呢
- 最后在跑步的时候
this.state.allObjects
在我的代码中的某个地方发生了更改,或者在某个地方追加了一个额外的}
,尽管它确实不应该这样做。当我显示this.state.object
和this.state.allObjects[0]
时,它们的格式在视觉上完全相同。将更多对象添加到this.state.allObjects
并显示每个字符串化组件也可以工作;这只是实际解析这些在原始加载函数之外不工作的组件的问题
我被卡住了。任何建议都将不胜感激。如果我需要更改我的数据类型,那很好。有一点让人恼火的是,字符串化对象的字符串化数组包含数组,却无法解析它。因为
this.state.allObjects
已经是JSON对象了
在
{this.state.allObjects}
中尝试JSON.stringify()
,{this.state.allObjects}
它完美地在屏幕上显示所有对象,例如在{“array1”:“values”,“array2”:“values”}{“array1”:“values”,“array2”:“values”}
中显示3个对象的示例。内容仍然是字符串化的。请尝试<代码>变量a={a:'1'};JSON.parse(a);JSON.stringift(a)代码>打印变量a结果:[对象];stringify(a):{“a”:“1”};parse(a):JSON解析错误:意外标识符“object”;是的,因为“a”已经是JSON对象了,所以我不知道你需要什么我相信我了解如何解析和字符串化工作。。。我只是不确定为什么上下文的改变会导致我在上面看到的错误。
const parse = JSON.parse(this.state.allObjects[0]);
//JSON Parse error: Unexpected identifier "undefined"
console.log(parse.name);
const parse = JSON.parse(this.state.allObjects[0]).name;
//JSON Parse error: Unexpected identifier "undefined" + null is not an object (evaluating 'JSON.parse(this.state.allObjects[0]).name
console.log(parse);
const parse = JSON.parse(this.state.allObjects);
//JSON Parse error: Unexpected EOF + JSON Parse error: Unexpected token ','