![](/img/trans.png)
[英]Getting JSON Parse error: Unexpected identifier "undefined" when using React native & React navigation?
[英]JSON Parse error: Unexpected identifier "undefined" when trying to parse an object from an array (React-Native)
我已经创建了一种在 AsyncStorage 中以我想要的方式存储数据的方法。 这包括:
this.state.object
中this.state.object
this.state.allObjects
所有这些的最终目标是拥有一个对象数组,每个对象代表相同类型的一个非常不同的实例(具有不同的参数等)。 这可能不是最优雅的方法,但它似乎可以很好地存储和加载。
当我尝试从this.state.allObjects[x]
解析任何内容时,问题就出现了。 或者更确切地说,它仅在我需要在加载后不正确的情况下访问它时发生。
在我的loadFromAsync
函数中,我完全能够执行this.state.allObjects = JSON.parse(fromAsync);
获取字符串化对象的数组,然后var display = JSON.parse(this.state.allObjects[0]).name
以检索数组的第一个解析对象的名称。
当我尝试调用var display = JSON.parse(this.state.allObjects[0]).name
或什至更简单的<Text>{JSON.parse(this.state.allObjects[0]).name}</Text>
时,此函数之外的任何时间<Text>{JSON.parse(this.state.allObjects[0]).name}</Text>
我收到以下错误:
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 ','
我假设this.state.allObjects
在我的代码中的某处发生了变化,或者在某处附加了一个额外的}
,尽管它确实不应该。 当我显示this.state.object
和this.state.allObjects[0]
,它们的格式在视觉上完全相同。 向this.state.allObjects
添加更多对象并显示每个字符串化组件也可以; 这只是实际解析这些在原始加载功能之外不起作用的组件的问题。
我非常困。 任何建议表示赞赏。 如果我需要更改我的数据类型,那很好。 使用包含数组的字符串化对象的字符串化数组走到这一步却无法解析它,这有点烦人。
因为this.state.allObjects
已经是 JSON 对象了。
试试JSON.stringify()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.