繁体   English   中英

从asyncStorage获取时的JSON.parse(object)引发错误:位置1的JSON中的意外令牌o

[英]JSON.parse(object) when getting from asyncStorage throws error: Unexpected token o in JSON at position 1

我需要使用asyncStorage使用React Native Android从本地存储中检索对象。 我正在使用此方法设置对象:

export const writeParsedContactsToStorage = async (parsedContacts) => {
  try {
    await AsyncStorage.setItem('@parsed_contacts', JSON.stringyfy(parsedContacts))
  } catch (error) {
    console.log(error);
  }
}

然后尝试使用以下方法将其取回:

export const getParsedContactsFromStorage = async () => {
  try {
    const parsedContacts = await AsyncStorage.getItem('@parsed_contacts');
    console.log(JSON.parse(parsedContacts));
    return parsedContacts;
  } catch (error) {
    console.log(error);
  }
}

但是,当我仅使用JSON.parse()方法时,就会收到错误消息:

Unexpected token o in JSON at position 1

没有JSON.parse() ,返回的对象如下所示:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]...........

如何以原始格式从存储中取出对象?

谢谢

我不知道“ parsedContacts”数据是什么。 但是,如果您得到的是,请分割数据并剪切。

export const getParsedContactsFromStorage = async () => {
  try {
    const parsedContacts = await AsyncStorage.getItem('@parsed_contacts');
    const splitdata = parsedContacts.split(',');
    splitdata.map( (data, index) => console.log(JSON.stringyfy(data)) );
  } catch (error) {
    console.log(error);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM