为了账号安全,请及时绑定邮箱和手机立即绑定

将新的计算值插入到 Json 中

将新的计算值插入到 Json 中

开满天机 2021-05-30 12:56:42
我有一个JSON看起来像:[{    "lat": 43.96063343238712,    "panoid": "sffcNG69c2kdZwEuYp1htw",    "lon": 3.098330084924494}, {    "lat": 43.96052745649745,    "panoid": "2rJPv_r0gC5FBPLZK5vHDA",    "lon": 3.098487422195691} and so on... ]我想为每个元素(表示成对的括号)添加一个calc等于(value of "lat") - 50我该怎么做才能更新我的JSON名字?我想我应该将转换JSON为dictionary。但是之后如何进行呢?
查看完整描述

1 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

使用json模块将字符串加载到列表中。遍历列表中的字典并设置一个属性 -calc为lat值减去50。


最后,如果需要,将列表转储到带有可选indentarg的字符串中,以进行漂亮的打印。


import json

s = '''[{

    "lat": 43.96063343238712,

    "panoid": "sffcNG69c2kdZwEuYp1htw",

    "lon": 3.098330084924494

}, {

    "lat": 43.96052745649745,

    "panoid": "2rJPv_r0gC5FBPLZK5vHDA",

    "lon": 3.098487422195691

}]'''

l = json.loads(s)

for d in l:

    d['calc'] = d['lat'] - 50

print(json.dumps(l, indent=4))

给予:


[

    {

        "lat": 43.96063343238712,

        "panoid": "sffcNG69c2kdZwEuYp1htw",

        "lon": 3.098330084924494,

        "calc": -6.0393665676128805

    },

    {

        "lat": 43.96052745649745,

        "panoid": "2rJPv_r0gC5FBPLZK5vHDA",

        "lon": 3.098487422195691,

        "calc": -6.039472543502548

    }

]


查看完整回答
反对 回复 2021-06-01
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信