我有一个json文件,里面有很多注释。我只想替换特定的值,并通过在json文件中保存结构和格式来保存结果
例如,在本部分:
"blocks" : [
{
"block_name" : "PNS1",
"ip" : "192.168.1.142",
"dynamic_ports" : { "first" : 10000, "last" : 15000 },
"inherits" : "PNS",
"in" : [],
"out" : [
/* Отправка данных в другой коллектор */
{ "name" : "collector_data_out", "dest_port" : "collector_data_in", "dest_block" : "PNS2", "fifo" : true },
/* Отправка темперутры, давлений и тарировок в СВС */
{ "name" : "svs_ctrl_out", "dest_port" : "svs_ctrl_in", "dest_block" : "SELF,MFI1,MODEL", "fifo" : true },
/* Отправка данных для определения главного транзитора */
{ "name" : "another_transitor_out", "dest_port" : "another_transitor_in", "dest_block" : "PNS2", "fifo" : true }
]
},
我只想替换块中的->;知识产权。所以它一定是这样的:
"ip" : "127.0.0.1",
这是原始json文件:https://pastebin.com/Neumxy4p
如何通过python json实现这一点
以下是您的问题的一个解决方案:
您的JSON文件包含的注释被认为是无效的JSON,如果尝试使用
json.load
或json.loads
,则无法加载该注释。我使用了正向前瞻和正向前瞻来匹配您的IP地址,并将其替换为
127.0.0.1
据我所知,您需要用一些自定义值替换您的IP
如果你想一成不变,试试这个
blocks = [{**item, "ip": "127.0.0.1"} for item in blocks]
如果突变不是一个问题,只要
相关问题 更多 >
编程相关推荐