格式化JSON对象并向结构添加新键

塔潘·斯温

我是JSON的新手,并希望提供一些信息。我有一个地址的JSON对象,如下所示。同一键中有多个地址,中间用||分隔。

原始JSON是:{“地址”:“宾夕法尼亚州夏普市营地123死区驱动器||宾夕法尼亚州哈里斯堡456 N街”};

我正在尝试重新格式化此JSON,使其具有2个不同的地址,并以逗号分隔,如下所示。

{"Address":
       "Formatted Address" : 
               "Street Address":"123 dead drive"
               "City": "camp hill"
               "State": "PA" ,
       "Formatted Address" : 
               "Street Address":"456 N Street"
               "City": "Harrisburg"
               "State": "PA"
}

我正在尝试这样的事情

$(function() {
   var resultJSON = '{"Address":"123 dead drive,camp hill,PA || 456 N Street,Harrisburg, PA"}';
var result = $.parseJSON(resultJSON);

var splitresult = result.Address.split("||");   
  address = [];  

  $(splitresult).each(function(index) {
      address.push({'Formatted': splitresult[index]});   
    });

  var json0bj =  JSON.stringify(address);
    console.log(json0bj);   
});
步行者

编辑:注释代码以显示已完成的操作。对您的代码进行了一些小的更改:

$(function() {
  var resultJSON = '{"Address":"123 dead drive,camp hill,PA || 456 N Street,Harrisburg, PA"}';
  var result = $.parseJSON(resultJSON);

  var splitresult = result.Address.split(" || ");
  address = [];

  $(splitresult).each(function(index, element) {
    // $.each passes the element as the second argument. We'll use that.
    var adrArray = element.split(',');
    // We split the string on commas to get the address fragments and place them  into a new object:
    var formattedAddress = {
      "Street Address": adrArray[0],
      "City": adrArray[1],
      "State": adrArray[2]
    };
    // Then push it onto the array:
    address.push({
      'Formatted Adress': formattedAddress
    });
  });

  //To make the result look like the one you want we put the array into a new structure:
  var addressObject = {
    "Address": address
  };
  var jsonObj = JSON.stringify(addressObject);
  document.write("<code>"+jsonObj+"</code>")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章