如何在JSON中获取具有相同名称的两个键

时间:2015-08-18 06:10:10

标签: python json


下面的代码已经使用了"street": "Manhattan street 15",但是我可以如何使用"PL 300",因为它们具有相同的名称?

我目前的python代码:

 contact_info = dict(business_id=business_id, 
                     name=business_info['name'], 
                     street=address['street'],
                     post_code=address['postCode'],
                     city=address['city'],
                     website=address['website'],
                     phone=address['phone'],
                     register_date=register_date
                    )

这是JSON格式:

"addresses": [
  {
    "street": "Manhattan street 15",
    "postCode": "53100",
    "type": 1,
    "city": "Monaco",
    "country": "MC",
    "website": null,
    "phone": null,
    "fax": null,
    "registrationDate": "2014-11-17",
    "endDate": null
},
{
    "street": "PL 300",
    "postCode": "00089",
    "type": 2,
    "city": "Halic",
    "country": "Hc",
    "website": null,
    "phone": null,
    "fax": null,
    "registrationDate": "2014-11-17",
    "endDate": null
    }
]

5 个答案:

答案 0 :(得分:1)

json你发布了一个对象数组,所以你必须得到你想要从中获取街道的对象

所以var address =地址[1];    街道地址= [街道];

你可以进行迭代

答案 1 :(得分:0)

似乎language: node_js node_js: - 0.12 address,带有两个dicts.So

list

答案 2 :(得分:0)

import json    
business_info = json.loads('your.json')
streets = [address['street'] for address in business_info.address]

答案 3 :(得分:0)

尝试:

from urllib2 import urllib
import json

url = 'http://example.com'
response = urlopen(url)
json_obj = json.load(response)

for i in json_obj['addresses']:
    print i['street']

它应该工作。它是street数组中的所有addresses个名称 对于其他值,您需要指定那些实体名称,就像我为街道

所做的那样

答案 4 :(得分:0)

它是一个包含两个联系人的JSON数组,因此json["address"][0]["street"]json["address"][1]["street"]不同。

import json

contact_infos = []

parsed_json = json.loads(json_string)

for addr in parsed_json["addresses"]:
    contact_infos.append(
        dict(
            business_id=9999,
            name="Jason Derulo",
            street=addr["street"],
            post_code=addr["postCode"],
            city=addr["city"],
            website=addr["website"],
            phone=addr["phone"],
            register_date=addr["registrationDate"]
        )
    )

# A list of two contact infos                                                                                                     
print(contact_infos)