當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python json.dumps()用法及代碼示例


JSON的完整形式是JavaScript Object Notation。這意味著將使用編程語言的文本組成的腳本(可執行)文件用於存儲和傳輸數據。 Python通過名為內置的軟件包支持JSONjson。要使用此函數,我們導入json用Python腳本打包。 JSON中的文本是通過帶引號的字符串完成的,其中包含了鍵-值映射中的值{ }。它類似於Python中的字典。

注意:有關更多信息,請參閱使用Python讀取,寫入和解析JSON。

json ·dumps()

json.dumps()函數將Python對象轉換為json字符串。



用法:
json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

參數:
obj:將obj序列化為JSON格式的流
skipkeys:如果skipkeys為true(默認值:False),則將跳過不是基本類型(str,int,float,bool,None)的dict鍵,而不是引發TypeError。
ensure_ascii:如果ensure_ascii為true(默認值),則確保輸出中所有傳入的非ASCII字符都已轉義。如果ensure_ascii為false,則將輸出這些字符as-is。
check_circular:如果check_circular為false(默認值:True),則將跳過對容器類型的循環引用檢查,並且循環引用將導致OverflowError(或更糟)。
allow_nan:如果allow_nan為false(默認值:True),則嚴格符合JSON規範的序列化超出範圍的浮點值(nan,inf,-inf)將是ValueError。如果allow_nan為true,則將使用它們的JavaScript等效項(NaN,Infinity和-Infinity)。
indent:如果縮進是非負整數或字符串,則JSON數組元素和對象成員將是具有該縮進級別的pretty-printed。縮進級別0,負數或“”隻會插入換行符。無(默認)選擇最緊湊的表示形式。使用正整數縮進會使每個級別縮進多個空格。如果縮進是字符串(例如“\t”),則該字符串用於縮進每個級別。
separators:如果指定,分隔符應為(item_separator,key_separator)元組。如果縮進為“無”,則默認值為(‘,’,‘:’),否則為(‘,’,‘:’)。為了獲得最緊湊的JSON表示形式,您應該指定(',',':')以消除空格。
default:如果指定了默認值,則默認值應該是一個調用本來無法序列化的對象的函數。它應該返回該對象的JSON可編碼版本或引發TypeError。如果未指定,則引發TypeError。
sort_keys:如果sort_keys為true(默認值:False),則字典的輸出將按鍵排序。

範例1:將Python字典傳遞給json.dumps()函數將返回一個字符串。

import json 
  
# Creating a dictionary 
Dictionary ={1:'Welcome', 2:'to', 
            3:'Geeks', 4:'for', 
            5:'Geeks'} 
   
# Converts input dictionary into 
# string and stores it in json_string 
json_string = json.dumps(Dictionary) 
print('Equivalent json string of input dictionary:', 
      json_string) 
print("        ") 
  
# Checking type of object 
# returned by json.dumps 
print(type(json_string))

輸出

Equivalent json string of dictionary:{“1”:“Welcome”, “2”:“to”, “3”:“Geeks”, “4”:“for”, “5”:“Geeks”}
<class ‘str’>

範例2:通過將跳過鍵設置為True(默認值:False),我們將自動跳過不是基本類型的鍵。

import json 
  
  
Dictionary ={(1, 2, 3):'Welcome', 2:'to', 
            3:'Geeks', 4:'for', 
            5:'Geeks'} 
  
  
# Our dictionary contains tuple 
# as key, so it is automatically  
# skipped If we have not set 
# skipkeys = True then the code  
# throws the error  
json_string = json.dumps(Dictionary,  
                         skipkeys = True) 
  
print('Equivalent json string of dictionary:',  
      json_string)

輸出

Equivalent json string of dictionary:{“2”:“to”, “3”:“Geeks”, “4”:“for”, “5”:“Geeks”}

範例3:

import json 
  
  
# We are adding nan values 
# (out of range float values) 
# in dictionary 
Dictionary ={(1, 2, 3):'Welcome', 2:'to', 
            3:'Geeks', 4:'for', 
            5:'Geeks', 6:float('nan')} 
  
# If we hadn't set allow_nan to  
# true we would have got  
# ValueError:Out of range float  
# values are not JSON compliant 
json_string = json.dumps(Dictionary, 
                         skipkeys = True, 
                         allow_nan = True) 
  
print('Equivalent json string of dictionary:',  
      json_string)

輸出:



Equivalent json string of dictionary:{“2”:“to”, “3”:“Geeks”, “4”:“for”, “5”:“Geeks”, “6”:NaN}

範例4:

import json 
  
  
Dictionary ={(1, 2, 3):'Welcome', 2:'to', 
            3:'Geeks', 4:'for', 
            5:'Geeks', 6:float('nan')} 
  
# Indentation can be used  
# for pretty-printing 
json_string = json.dumps(Dictionary,  
                         skipkeys = True,  
                         allow_nan = True, 
                         indent = 6) 
  
print('Equivalent json string of dictionary:',  
      json_string)

輸出:

Equivalent json string of dictionary:{
      "2":"to",
      "3":"Geeks",
      "4":"for",
      "5":"Geeks",
      "6":NaN
}

範例5:

import json 
  
Dictionary ={(1, 2, 3):'Welcome', 2:'to', 
            3:'Geeks', 4:'for', 
            5:'Geeks', 6:float('nan')} 
  
# If specified, separators should be 
# an (item_separator, key_separator)tuple 
# Items are seperated by '.' and key, 
# values are seperated by '=' 
json_string = json.dumps(Dictionary, 
                         skipkeys = True,  
                         allow_nan = True, 
                         indent = 6, 
                         separators =(". ", " = ")) 
  
print('Equivalent json string of dictionary:', 
      json_string)

輸出:

Equivalent json string of dictionary:{
      "2" = "to". 
      "3" = "Geeks". 
      "4" = "for". 
      "5" = "Geeks". 
      "6" = NaN
}

範例#6:

import json 
  
Dictionary ={'c':'Welcome', 'b':'to', 
            'a':'Geeks'} 
  
json_string = json.dumps(Dictionary, 
                         indent = 6, 
                         separators =(". ", " = "), 
                         sort_keys = True) 
  
print('Equivalent json string of dictionary:', 
      json_string)

輸出:

Equivalent json string of dictionary:{
      "a" = "Geeks". 
      "b" = "to". 
      "c" = "Welcome"
}



相關用法


注:本文由純淨天空篩選整理自sathvik chiramana大神的英文原創作品 json.dumps() in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。