【问题标题】:How to update large JSON objects?如何更新大型 JSON 对象?
【发布时间】:2022-06-15 23:45:48
【问题描述】:

服务器向我发送 JSON 格式的数据来描述产品。产品由属性和嵌套的属性数组组成,最多 4 级深度。在前端,用户可以更新深层嵌套值。我是否需要跟踪路径,然后为更新的 POST 调用重建整个 JSON 对象?还是有更优雅的方法来做到这一点?还是后端服务的设计不好?

JSON 格式的数据

{
  "productId": 10,
  "features": [
    {
      "id": 45,
      "name": "Customization",
      "productOptions": [
        { 
          "id": 1, 
          "color": ["red", "green"],
        },
        { 
          "id": 2, 
          "slogans": [
             {"id": 32, "name":"Thank You"},
             {"id": 33, "name":"Thanks a lot"},
          ],
        }
      ]
    }
  ]
}

输入以编辑标语

<input data-id="32" type="text" name="slogan" />

编辑 JSON 以发送回服务器

const update = {"id": 32, "name":"Thank You so much!"}

// update slogan array
solgansUpdateIndex = slogans.findIndex(obj => obj.id == 32)
slogans[solgansUpdateIndex] = update

...

// update whole object for the updating POST call

{...data, //updateTree} 

【问题讨论】:

  • 请注意 JSON 是一个字符串。如果数据在 JS 中,它只是 JS 对象/数组/等。
  • @evolutionxbox 你是什么意思?
  • 这没什么大不了的,但很高兴知道。 const data = { ... 不是 JSON。 benalman.com/news/2010/03/theres-no-such-thing-as-a-json
  • 如果您尝试更新存储在数据库中的数据,那么必须由后端处理,而不是前端更改 json。后端必须提供一个端点来更新每个实体类

标签: javascript reactjs json api


猜你喜欢
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 2017-08-20
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多