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

时间:2019-06-04 01:09:59

标签: javascript reactjs react-table

我正在使用react从API中获取Json数据,但是,该API包含一个键,该键的对象格式为String。请参见下面的示例:

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

要访问用户类别,我只需将headeraccessor一起使用,并且该值在表中的显示就很好了,但是我很难使用其键访问user_info键String和值使用类似这样的东西:

 {
     Header: "User Id",
     accessor: "user_info.user_id"
   },
   {
     Header: "User Age",
     accessor: "user_info.user_age"
   },
   {
     Header: "User Company",
     accessor: "user_info.user_company"
   }

1 个答案:

答案 0 :(得分:2)

服务器将对象双重编码为​​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);