将json对象添加到特定索引 - python

时间:2016-08-04 07:47:20

标签: python json

今天,我开始使用json和Python 3.x ......所以有一些问题。这是我现在的第一个重要问题。

我正在寻找能够插入(例如)此功能的功能:

{
  'Current': '3A',
  'Voltage': '11V'
}

到这里:

{
  'Measure': [
      {'Current': '2A', 'Voltage': '11V'}
   ]
}

...所以我的结果是:

{
  'Measure': [
      {'Current': '2A', 'Voltage': '11V'},
      {'Current': '3A', 'Voltage': '11V'}
   ]
}

我只在javascript中找到函数来解决我的问题,在python中没有。直到现在,我只看到了json的层次化创建方法,没有类似于类和实例的构建。

我希望,有机会做到这一点。 ;) 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

>>> measureDict = {'Measure': []}
>>> measureDict['Measure'].append({'Current': '2A', 'Voltage': '11V'})
>>> measureDict['Measure'].append({'Current': '3A', 'Voltage': '11V'})
>>> measureDict
{'Measure': [{'Current': '2A', 'Voltage': '11V'}, {'Current': '3A', 'Voltage': '11V'}]}
>>> import json
>>> json.dumps(measureDict)
'{"Measure": [{"Current": "2A", "Voltage": "11V"}, {"Current": "3A", "Voltage": "11V"}]}'
>>> 

答案 1 :(得分:0)

我的解决方案是将数据保存为Python- Dictionary然后对其进行操作,稍后您可以获取JSON对象。

import json
j = {'Measure': [ {'Current': '2A', 'Voltage': '11V'}]}
d = {'Current': '3A', 'Voltage': '11V'}
j['Measure'].append(d) # as it is list use append otherwise update
json.dumps(j)

输出:

'{"Measure": [
             {"Current": "2A", "Voltage": "11V"},
             {"Current": "3A", "Voltage": "11V"}
 ]}'

EDIT-1:

首先将数据附加到子词典,然后将dict.update用于父词典,从而解决了问题。

修改-2

确切的答案是

j['Device']['Measure'].append({'Current': '3A', 'Voltage': '11V'})

它必须工作。

希望它有用.. !!