1

Djangoには次のリストがあります。

[['Host Name', 'No. of Events'], [u'12.23.21.23', 0], [u'2.152.0.2', 2]]

上記のリストを取得するために、私は自分の中に次のコードを書きましたviews

 def graph_analysis(request):
    event_host, event_alerts = ([] for x in range(2))
    event_alerts.append(['Host Name', 'No. of Events'])
    host_ipv4 = [et for et in get_hosts(user=request.user)]
    event = get_events(source_hosts=host_ipv4)
    for x in host_ipv4:
        event_host.append(x.ipv4)
        event_alerts.append([x.ipv4,get_host_count(x,event)])
    extra_context = {
    ####

現在、このリストをJavascriptの変数で使用しています。Unicode文字以外はすべて問題ありません。削除したいのですが。要するに、私は次のように上記のリストが欲しいです:

[['Host Name', 'No. of Events'], ['12.23.21.23', 0], ['2.152.0.2', 2]]

私は何をすべきか?

4

2 に答える 2

7

ここには「Unicode文字」はありません。jsonとして出力するUnicode文字列を含むリストがあります。Unicode文字列(テキストの抽象表現)をバイト文字列(バイトのシーケンス)としてエンコードする必要があります。それを行う方法は次のとおりです。

u'12.23.21.23'.encode('utf8')
于 2012-07-24T17:46:23.133 に答える
6
import json
list_ = #your content list here
list_as_json = json.dumps(list_)

実際には何も削除していません。これらのリストの要素はUnicode文字列であるため、uが表示されます。また、__repr__()Unicode文字列の場合は、先頭のuを出力して、非Unicode文字列と区別します。 json.dumps()リストをjson文字列に変換するときに、Unicode文字列と非Unicode文字列の内容を同じように扱います(少なくともこの質問で重要な限り)。そのため、u識別子は取得されません。

于 2012-07-24T17:53:03.733 に答える