0

输入将类似于:

List1 - a python list of any size of conditions to be ANDed
List2 - a python list of any size of conditions to be ORed

最终,我想生成如下所示的 JSON 输出:

{“view”:{“ANDS”:[ {“status”:“status_field”,“operator”:“operator_field”,“value”:“value_field},...],“ORS”:[{“status” : "status_field", "operator": "operator_field", "value": "value_field}, ... ]}}

我的计划是利用simplejson库最终编写如下内容:

import simplejson as json
json.dumps(OrderedDictObject)

我理解应该处理转换。

我的问题,没有很多使用 OrderedDict 对象的经验,是如何编写一个函数来构建这样一个对象,经过解析List1List2生成要传递给的对象json.dumps()

这里有什么最佳实践吗?

4

1 回答 1

0

如果您有两个 Python 列表:

List1 - 要进行与运算的任意大小条件的 Python 列表 List2 - 要进行或运算的任意大小条件的 Python 列表

然后你可以做这样的事情:

mydict = { 'views': { 'ANDS': List1, 'ORS': List2 } }

您会注意到它与您发布的 JSON 示例的结构完全一致。鉴于:

List1 = [ { "status": "status_field", "operator": "operator_field", "value": "value_field"} ]
List2 = [ { "status": "status_field", "operator": "operator_field", "value": "value_field"} ]

这将为您提供如下 JSON 输出:

>>> import json
>>> print json.dumps(mydict, indent=True)
{
 "views": {
  "ORS": [
   {
    "status": "status_field", 
    "operator": "operator_field", 
    "value": "value_field"
   }
  ], 
  "ANDS": [
   {
    "status": "status_field", 
    "operator": "operator_field", 
    "value": "value_field"
   }
  ]
 }
}
于 2013-01-14T02:45:00.303 回答