python获取json中的key value_Python将JSON的key/values转换成key/value,其中value是一个数组...

我有一个JSON文件,其中有许多类似的条目:{

"area1": "California",

"area2": "Sierra Eastside",

"area3": "Bishop Area",

"area4": "Volcanic Tablelands (Happy/Sad Boulders)",

"area5": "Fish Slough Boulders",

"grade": "V6 ",

"route": "The Orgasm",

"type1": "Boulder",

"type2": "NONE",

"type3": "NONE",

"type4": "NONE",

},

我想将area和type项转换为数组:

^{pr2}$

我有一个几乎可以工作的代码:json_data=open('../json/routes_test.json')

datas = json.load(json_data)

datas_arrays = []

area_keys = ['area1','area2','area3','area4','area5']

type_keys = ['type1','type2','type3','type4']

for data in datas:

areaArray = []

typeArray = []

deleteArray = []

for k, v in data.iteritems():

for area_key in area_keys:

if (k == area_key):

areaArray.append(v)

deleteArray.append(k)

for type_key in type_keys:

if (k == type_key):

typeArray.append(v)

deleteArray.append(k)

for k in deleteArray:

del data[k]

data['area'] = areaArray

data['type'] = typeArray

datas_arrays.append(data)

print datas_arrays

print "********"

out = json.dumps(datas_arrays, sort_keys=True,indent=4, separators=(',', ': '))

print out

f_out= open('../json/toues_test_intoarrays.json', 'w')

f_out.write(out)

f_out.close()

问题是area数组完全乱了序,type数组是向后的,这是我不能拥有的。我觉得奇怪的是,一个是无序的,一个是有序的,但却是倒序的。在我看来,迭代应该确保它们按顺序排列。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值