python3关于往json串指定位置添加重复数据或拼接json解决重复键问题

您所在的位置:网站首页 jsonlist重复 python3关于往json串指定位置添加重复数据或拼接json解决重复键问题

python3关于往json串指定位置添加重复数据或拼接json解决重复键问题

2024-07-11 18:29| 来源: 网络整理| 查看: 265

前言:由于自己post传输json的需要,需要自己往json串中添加数据没想到一个小小的json居然能那么让我头疼 如下(这里只截取部分数据,因为我的json串有点长): 在这里插入图片描述 我想往其中插入数据,结果百度半天,各种转格式,其种最坑的字典格式,大家都知道,字典key唯一,不能重复结果疯狂报错。 还发现了以下方法,能够定位到相应位置,但是由于是字典格式不能重复,放弃了

#以下便是哪个愚蠢的办法,并且只能赋值,遇到列表直接报错,并不能添加数据 data['YML_Contaiers']['ContainerNo']['YML_ContainerTracks']={ "Date":"string", "Event":"string", "AtFacility":"string", "ToFacility":"string", "Mode":"string" }

我找呀找,真的找不到关于这个问题的答案,气死我了,全都是什么loads,dumps啊,什么的方法,百度真的要凉了??。。。 但是我发现了一个dumps与loads结合的方(zhen)法(xiang)

#这里的json只添加了一个,而且位置是在外面的层级 json_data='{"BLNO": "string","NoOfPackages": "string","GrossCargoWeight": "string","Measurement": "string","LeaveRouting": "string","ReachRouting": "string","ETD": "string","ETA": "string","YML_Contaiers": [{"Id": 0,"ContainerNo": "string","MoveType": "string","Date": "string","LatestEvent": "string","Place": "string","VGM": "string","YML_ContainerTracks": [{"Date": "string","Event": "string","AtFacility": "string","ToFacility": "string","Mode": "string"}]}]}' new = json.dumps({**json.loads(json_data), **{"YML_ContainerTracks": [{"Date": "string", "Event": "string", "AtFacility": "string", "ToFacility": "string", "Mode": "string"}]}})

这方法可以让数据和它爷爷肩并肩,上生成同一辈分,简直违背伦理道德~那怎么行!!! 在这里插入图片描述 转出字典格式也不行,字符串也不好操作,那咋办呀???我很想和经理说sorry…像朱丹姐一样~~ 突然灵机一动,这不是还有列表嘛??美滋滋!枚举是个好东西!!!

json_data='{"BLNO": "string","NoOfPackages": "string","GrossCargoWeight": "string","Measurement": "string","LeaveRouting": "string","ReachRouting": "string","ETD": "string","ETA": "string","YML_Contaiers": [{"Id": 0,"ContainerNo": "string","MoveType": "string","Date": "string","LatestEvent": "string","Place": "string","VGM": "string","YML_ContainerTracks": [{"Date": "string","Event": "string","AtFacility": "string","ToFacility": "string","Mode": "string"}]}]}' list_i = list(json_data)#把他变成列表格式 #由于我是需要循环往json串指定位置中添加数据,有需要索引做一下判断,使用枚举,枚举真的是个好东西~~~~~ #然后使用列表的insert来指定位置添加重复数据 for index,content in enumerate(contents): if index==0: list_json.insert(-4,'{"Date": "%s","Event": "%s","AtFacility": "%s","ToFacility": "%s","Mode": "%s"}' % (item['xxtime'], item['Event'], item['At_Facility'], item['To_Facility'],item['Delivery_mode'])) else: list_json.insert(-4,',{"Date": "%s","Event": "%s","AtFacility": "%s","ToFacility": "%s","Mode": "%s"}'%(item['xxtime'],item['Event'],item['At_Facility'], item['To_Facility'],item['Delivery_mode'])) #然后在转换成json格式,就可以了。美滋滋 json.dumps(str_i, ensure_ascii=False)

以下我成功的亚子~但是没开心几分钟。。。。。。。。IP就被封了。。。。。 在这里插入图片描述 还有不明白的,或者有爬虫需求的小伙伴可以给我留言~~嘻嘻嘻。不准转载哟~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3