【问题标题】:Converting array to json in react application在反应应用程序中将数组转换为json
【发布时间】:2019-02-07 19:51:18
【问题描述】:

在我的反应代码中,我的状态中有项目作为数组。

items[]

我能够用少量数据填充 items 数组,并且需要将其传递给我的 Web 服务。 首先,我需要将该数组转换为 json。当我这样做时,这对我来说只是崩溃 json.stringify。

在 React 应用程序中有不同的方法吗?

storeDataInDatabase(){

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

    console.log(myObjStr);
}

【问题讨论】:

  • 您最初说的是state,然后在您的示例中使用props。它是哪一个?错误是什么? “只是为了我而崩溃”并不能告诉我们太多。
  • 什么是items[]?看起来您在属性访问器中忘记了一个字符串,但您说它是一个数组。
  • 如果您的 items = [1, 2, 3],当您执行 JSON.stringify(items) 时,它将变为 '[1, 2, 3]'。我认为您不能将数组转换为 json,因为 json 是一种格式。它不是数据结构。我想你的意思是把数组转换成对象吧?
  • 是的,我认为它正在将数组转换为对象

标签: javascript json reactjs


【解决方案1】:

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

{
  "items": [
    {
      "key1": "value1",
      "key2": "value2"
    },
    {
      "key1": "value1",
      "key2": "value2"
    }
  ]
}

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

storeDataInDatabase() {
  const { items } = this.state;
  const myObjStr = JSON.stringify(items);
  console.log(myObjStr);
}

【讨论】:

  • 这看起来更像我正在寻找的东西。我现在就试试
猜你喜欢
  • 2020-12-05
  • 2015-11-18
  • 2021-04-03
  • 2017-05-28
  • 2019-04-09
  • 1970-01-01
  • 2020-02-14
  • 2021-01-29
  • 1970-01-01
相关资源
最近更新 更多