【问题标题】:getting values from json objects in reactjs从reactjs中的json对象获取值
【发布时间】:2021-06-02 04:20:46
【问题描述】:

我的sql数据库中已经以json的形式存储了地址,请问如何访问json对象的每个key和value

用户表值:

{
id: 1, 
billing_address: "\"{\\\"country\\\":\\\"India\\\",\\\"address\\\":\\\"23, 4th cross\\\",\\\"city\\\":\\\"Udupi\\\",\\\"state\\\":\\\"Tamil Nadu\\\",\\\"zip\\\":\\\"123456\\\"}\"",
created_at: "2021-06-02T03:16:04.000Z",
email: "xxx@gmail.com",
name: "xxx"
}

billing_address 具有地址、国家、城市、州和邮政编码字段。 如何在 ReactJs 中访问 billing_address JSON 对象中的每个键和值?

【问题讨论】:

  • @kiranvj 你提到的问题没有回答安吉林的问题。他们需要 JSON.parse 方面的帮助。
  • @ChristianFritz 当然。投票决定重新开放。
  • 你有一个双重编码的 JSON 字符串。要解析它,请使用JSON.parse(JSON.parse(obj.billing_address))。更好的选择是修复对其进行双重编码的任何内容
  • @Phil 非常感谢!

标签: javascript json


【解决方案1】:

要获取帐单地址,您需要使用 JSON.parse 。使用您当前的数据格式,您需要使用它两次。请看下面的代码。

var data = {
id: 1, 
billing_address: "\"{\\\"country\\\":\\\"India\\\",\\\"address\\\":\\\"23, 4th cross\\\",\\\"city\\\":\\\"Udupi\\\",\\\"state\\\":\\\"Tamil Nadu\\\",\\\"zip\\\":\\\"123456\\\"}\"",
created_at: "2021-06-02T03:16:04.000Z",
email: "xxx@gmail.com",
name: "xxx"
};

var billingAddress = JSON.parse(JSON.parse(data.billing_address));

console.log("Billing address:", billingAddress);

console.log("Country:", billingAddress.country );

【讨论】:

    【解决方案2】:

    您可以使用 JSON.parse() 方法将 JSON 字符串转换为对象。

    例如:

    const dbAddress = 
    {
     id: 1, 
     billing_address: "\"{\\\"country\\\":\\\"India\\\",\\\"address\\\":\\\"23, 4th cross\\\",\\\"city\\\":\\\"Udupi\\\",\\\"state\\\":\\\"Tamil Nadu\\\",\\\"zip\\\":\\\"123456\\\"}\"",
     created_at: "2021-06-02T03:16:04.000Z",
     email: "xxx@gmail.com",
     name: "xxx"
    };
    
    const address = 
    {
      ...dbAddress,
      billing_address: JSON.parse(JSON.parse(dbAddress.billing_address)),
    };
    
    console.log(address);
    console.log(address.billing_address.country);
    

    【讨论】:

      猜你喜欢
      • 2016-12-25
      • 2016-01-29
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2013-08-28
      相关资源
      最近更新 更多