0

将其显示为 JSON 的最佳方式是什么?

{'foo': 'bar'}
[1,2,3,4,5]

我的部分解决方案:

import json

def json_tuple(*args, **kwargs):   
    if args:
        if kwargs:
            return json.dumps(args), json.dumps(kwargs)
        return json.dumps(args)

    return json.dumps(kwargs)

提供:

>>> json_tuple(1,2,3,4,5, **{'foo': 'bar'})
('[1, 2, 3, 4, 5]', '{"foo": "bar"}')

args列表放入kwargs- 例如:在一个args键下 - 是唯一的解决方案吗?

4

2 回答 2

5

如果您只是在寻找有效的 JSON,您可以将这些值放入顶级数组中:

import json

def jsonify(*args, **kwargs):
    return json.dumps((args, kwargs))  # Tuples are faster to create

产生:

'[[1, 2, 3, 4, 5], {"foo": "bar"}]'
于 2013-03-08T08:27:16.790 回答
0

我的“丑陋”解决方案:

import json

def jsonify(*args, **kwargs):   
    if args:
        kwargs.update({'args': args})

    return json.dumps(kwargs)

提供:

>>> jsonify(1,2,3,4,5, **{'foo': 'bar'})
'{"foo": "bar", "args": [1, 2, 3, 4, 5]}'
于 2013-03-08T08:23:23.727 回答