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”
  • 在异步存储中存储字符串化阵列
  • 所有这些的最终目标是拥有一个对象数组,每个对象表示同一类型的一个非常不同的实例(具有不同的参数等)。这可能不是最优雅的方法,但它似乎可以很好地存储和加载

    当我试图解析
    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 ','