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リストを配置することが唯一の解決策でしょうか?kwargsargs

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 に答える