python生成json(dump/dumps)

3971 ワード

jsonのリンクを解析:http://blog.csdn.net/u010895119/article/details/77377413 pythonのencode機能は私にとってシーンを使うのが少ないですが、最近問題がありました.直接インターフェースから取ったjson串の中に中国語があれば、json串の中にASCIIコードで存在します.この問題はdump/dumpsの方法で解決しましたので、メモしてください.(python解釈器バージョン:2.7)
  • decode&encode decode:jsonファイルまたはjson文字列をpythonのデータフォーマットencodeに解析すると逆に、pythonのいくつかのデータフォーマットをjsonファイルまたはjson文字列に変換し、簡単に綺麗なjsonファイル/文字列
  • を生成することができます.
  • dumps/loads&dump/load dumps/loads:操作文字列dump/load:操作ファイル
  • インターフェースから取得したjsonをexample.jsonに保存すると:
    {"page": "user", "uri": "/userinfo", "elements": [{"var_name": "username", "description": "     "}]}
    読み込みと表示:
    >>> with open('example.json', 'r') as jsonfile:
    ...     json_string = json.load(jsonfile)
    ...   
    #     ,   ASCII   
    >>> print json_string
    {
        u'elements': [{
        u'var_name': u'username', u'description': u'\u767b\u5f55\u7528\u6237\u540d'}], u'page': u'user', u'uri': u'/userinfo'}
    
    #   dumps    ,     
    >>> json_data = json.dumps(json_string, ensure_ascii=False)
    >>> print json_data
    {
        "elements": [{
        "var_name": "username", "description": "     "}], "page": "user", "uri": "/userinfo"}
    
    #           
    >>> json_data2 = json.dumps(json_string, ensure_ascii=False, indent=1)
    >>> print json_data2
    {
     "elements": [
      {
       "var_name": "username", 
       "description": "     "
      }
     ], 
     "page": "user", 
     "uri": "/userinfo"
    }
    
    json.dumpsからensuregascii=Falseが入ってきました.ASCIIコードを中国語に変換して表示します.json.dumpsはpythonの辞書をjsonオブジェクトに変換しました.
    Referencehttps://docs.python.org/2/library/json.html#basic-usage