在react应用程序中将数组转换为json

use*_*476 3 javascript json reactjs

在我的反应代码中,我的状态中有一个数组形式的项目。

items[]
Run Code Online (Sandbox Code Playgroud)

我能够用很少的数据填充项目数组,并需要将其传递到我的网络服务。首先我需要将该数组转换为 json。当我执行 Json.stringify 时,这对我来说简直是崩溃了。

在反应应用程序中是否有不同的方法来做到这一点?

storeDataInDatabase(){

    const myObjStr = JSON.stringify(this.props.items);

    console.log(myObjStr);
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ahl 5

JSON.stringify(..)将以正确的方式转换您的数组。序列化的对象将类似于:

{
  "items": [
    {
      "key1": "value1",
      "key2": "value2"
    },
    {
      "key1": "value1",
      "key2": "value2"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但就像您在第一句话中所写的那样,您正在将 items 数组设置为 state。以这样的方式思考: this.setState({ items }) 如果是这样,您必须从组件中的状态中获取数组:

storeDataInDatabase() {
  const { items } = this.state;
  const myObjStr = JSON.stringify(items);
  console.log(myObjStr);
}
Run Code Online (Sandbox Code Playgroud)