React.js:将字符串转换为对象

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (2489)

我正在使用react来从API获取Json数据,但是,API包含一个具有格式化为String的对象的键。见下面的例子:

 user_category:"employee",
 user_info:"{"user_id":"55","user_age":"27","user_company":"tesla"}"

要访问用户范畴,我只是用一个headeraccessor,并在表中的值显示就好了,但是我在使用它的键和使用这样的价值观访问USER_INFO密钥字符串的困难:

 {
     Header: "User Id",
     accessor: "user_info.user_id"
   },
   {
     Header: "User Age",
     accessor: "user_info.user_age"
   },
   {
     Header: "User Company",
     accessor: "user_info.user_company"
   }
提问于
用户回答回答于

令人奇怪的是,服务器将对象双重编码为​​JSON(编码内部对象然后编码整个事物)。

理想情况下,你已经修复了服务器端,因为他们正在做的事情没有意义,因为JSON支持嵌套对象就好了。

如果必须在客户端上解决问题,则使用JSON.parse将字符串转换为对象。

const atts = {
  user_category: "employee",
  user_info: "{"user_id":"55","user_age":"27","user_company":"tesla"}"
};

const userInfo = JSON.parse(atts.user_info);

扫码关注云+社区

领取腾讯云代金券