2017-10-11 163 views
1

有没有办法从json中的某个属性中获取一个值,然后修改它并将其分配给同一个json文件中的某个其他属性?如何在json文件中动态改变属性值?

我已经试过

{"total":5, 
    "ospf": 
    { 
    "start":1, 
    "stop":5 
    }, 
"isis": 
    { 
     "start":${total}, ==> expecting 5 
     "stop":${total}+10 ==> expecting 15 
     } 
} 

像这样

'value' : { 
      'x' = 10 
      } 
    'calculate' : { 
     'total' = Value[x]*2 
     } 

    data = json.load(fileobj) 

expected : data['calculate']['total] => 20 ##x*2 
+0

JSON只是一种交换格式。一旦解析成Python,它就是一堆字典和列表*。只需加载,更新并重新转储。 –

+0

在json.load()应该表示之前,整个JSON类转储是什么?这当然不是有效的JSON数据。 JSON不支持动态数据描述。 –

+0

无论我提到的仅仅是示例,确切的事情是我有一些属性为x = 5,我想按照需要通过增量使用json文件。那么,JSON不支持动态数据描述? –

回答

0
import json 
in_json = '{"x": 10}' 
data = json.loads(in_json) 
data['calculate'] = {'total': data['x']*2} 
out_json = json.dumps(data) 
+0

我正在寻找在JSON内动态更改的值,而无需在JSON外部处理 –