pythonjsonstring
⑴ python怎麼把json文件轉換成字元串
1、說明:
json文件本身就是字元串文件,使用open函數就可以得到文件字元串內容,如果要解析文件則使用python3通過json模塊load函數來實現。
2、代碼示例:
首先編寫一個json文件j.txt,內容如下:
{"errno":1,"errmsg":"操作成功!","data":[]}
python代碼如下:
import json
# 讀取文件內容
whth open('j.txt', 'r') as fr:
print(fr.read())
輸出如下:
{"errno":1,"errmsg":"操作成功!","data":[]}
# 解析json文件
with open('j.txt', 'r') as fr:
o = json.load(fr)
print(o['errno'])
print(o['errmsg'])
print(len(o['data']))
輸出如下:
1
操作成功!
0
3、函數說明:
load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
反序列化fp(一個.read()包含 - 支持類文件對象一個JSON文件),以一個Python對象。
object_hook是將與被調用的可選功能任何對象文本解碼(一個``dict``)的結果。返回值object_hook將用來代替dict。此功能可用於實現自定義解碼器(例如JSON-RPC級提示)。
object_pairs_hook是將與被調用的可選功能任何對象的結果與對的有序列表字面解碼。該的返回值object_pairs_hook將用來代替dict。
此功能可用於實現依賴於定製解碼器命令該鍵和值對被解碼(例如,collections.OrderedDict會記得插入的順序)。如果object_hook也定義了object_pairs_hook優先。
要使用自定義JSONDecoder子類,與cls指定它kwarg;否則JSONDecoder使用。
4、其它說明:
也可以使用json.loads函數來直接處理字元串,方法如下:
o=json.loads('{"errno":0,"errmsg":"操作成功!","data":[]}')
⑵ Python類型可以轉為JSON的number類型
python數據類型轉化為JSON格式的數據有兩種方式。
第一種方式是,mps(dict1)是將python數據類型轉化為JSON類型的字元串string,mp(dict1,sp)將python數據類型轉化為文件流,sp表示寫入文件的路徑。第二種方式是通過mps轉化成字元串,然後再寫入。
JSON格式的數據也可以轉化為python數據類型。loads(str)將JSON字元串轉化成python類型的數據,在使用loads操作字元串load(str,fp)將後綴為json文件轉化成python格式的數據,load操作文件流。因為文件讀寫操作時有可能產生IOError,一旦出錯,後面的close方法就不能執行到,為了保證是否出錯都能關閉文件,使用withopen文件操作流。
⑶ python怎麼判斷json 字元串含有某一個字元
python的string對象沒有contains方法,不用使用string.contains的方法判斷是否包含子字元串,但是python有更簡單的方法來替換contains函數。
方法1:使用 in 方法實現contains的功能:
site = ''
if "jb51" in site:
print('site contains jb51')
輸出結果:site contains jb51
方法2:使用find函數實現contains的功能
s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
⑷ python 字元串轉 json
python字元串轉json對象,需要使用json模塊的loads函數,如下所示:
>>> import json
>>> s = '{"skey":"val","ikey":10}'
>>> jo = json.loads(s)
>>> jo
{'ikey': 10, 'skey': 'val'}
>>> jo['ikey']
10
>>> jo['skey']
'val'
json.loads介紹:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize s (a str instance containing a JSON document) to a Python object using this conversion table.
The other arguments have the same meaning as in load(), except encoding which is ignored and deprecated.
If the data being deserialized is not a valid JSON document, a JSONDecodeError will be raised.
⑸ PYTHON關於提取返回JSON結果中特定欄位的問題
實際上JSON就是Python字典的字元串表示,但是字典作為一個復雜對象是無法直接轉換成定義它的代碼的字元串,Python有一個叫
simplejson的庫可以方便的完成JSON的生成和解析,這個包已經包含在Python2.6中,就叫json 主要包含四個方法:
mp和mps(從Python生成JSON),load和loads(解析JSON成Python的數據類型)mp和mps的唯一區別是
mp會生成一個類文件對象,mps會生成字元串,同理load和loads分別解析類文件對象和字元串格式的JSON
import json
dic = {
'str': 'this is a string',
'list': [1, 2, 'a', 'b'],
'sub_dic': {
'sub_str': 'this is sub str',
'sub_list': [1, 2, 3]
},
'end': 'end'
}
json.mps(dic)
#output:
#'{"sub_dic": {"sub_str": "this is sub str", "sub_list": [1, 2, 3]}, "end": "end", "list": [1, 2, "a", "b"], "str": "this is a string"}'
舉個簡單的例子就是:
import json
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][1]
⑹ 如何用Python解析Json文件
下面給出一個使用python解析json的簡單例子:
#!/usr/bin/python
import json
#Function:Analyze json script
#Json is a script can descript data structure as xml,
#Note:
#1.Also, if you write json script from python,
#you should use mp instead of load. pleaser refer to "help(json)".
#json file:
#The file content of temp.json is:
#{
# "name":"00_sample_case1",
# "description":"an example."
#}
#f = file("temp.json");
#s = json.load(f)
#print s
#f.close
#json string:
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][1]
⑺ python3.0怎麼用json從文件解析
1、說明:
python3通過json模塊load函數來解析文件。
2、代碼示例:
首先編寫一個json文件j.txt,內容如下:
{"errno":1,"errmsg":"操作成功!","data":[]}
python代碼如下:
importjson
withopen('j.txt','r')asfr:
o=json.load(fr)
print(o['errno'])
print(o['errmsg'])
print(len(o['data']))
輸出如下:
1
操作成功!
0
3、函數說明:
load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
反序列化fp(一個.read()包含 - 支持類文件對象一個JSON文件),以一個Python對象。
object_hook是將與被調用的可選功能任何對象文本解碼(一個``dict``)的結果。返回值object_hook將用來代替dict。此功能可用於實現自定義解碼器(例如JSON-RPC級提示)。
object_pairs_hook是將與被調用的可選功能任何對象的結果與對的有序列表字面解碼。該的返回值object_pairs_hook將用來代替dict。
此功能可用於實現依賴於定製解碼器命令該鍵和值對被解碼(例如,collections.OrderedDict會記得插入的順序)。如果object_hook也定義了object_pairs_hook優先。
要使用自定義JSONDecoder子類,與cls指定它kwarg;否則JSONDecoder使用。
4、其它說明:
也可以使用json.loads函數來直接處理字元串,方法如下:
o=json.loads('{"errno":0,"errmsg":"操作成功!","data":[]}')
⑻ 如何用Python,查找json格式中指定的數據,然後輸出這些查找到的數據
用Python查找json格式中指定的數據輸出這些查找到的數據的操作步驟如下:
1,打開一個編輯器,例如sublime text 3,然後創建一個新的PY文檔。
⑼ python中為什麼用json有什麼作用
今天我也在這個問題上糾結很久。最後才想明白,我來回答下。
網上很多網友總結了json模塊的用法,但沒說json模塊有什麼用,幹嘛要有這個模塊。可能都明白、太簡單,覺得沒必要說。但作為小白的我不明白,而且在練習使用load()和mp()時遇到錯誤。
首先糾正,json格式不是字元串。json與python裡面的字典是一樣的格式。
python的json模塊四個方法的作用為:
mps()#把數據轉成字元串;
loads()#把字元串符號『』去掉;
mp(x,f)#將x的內容直接寫入f,不改變格式;
load(x,f)#讀取f保存為x,同樣不改變格式。
重點來了,f = open()下的read()的方法,輸出是字元串,wirte()方法的輸入也必須是字元串。
結論:因為f=open()下的讀寫方法都必須是字元串,很不方便。而非字元串的數據大多是json格式,所以就有了json模塊。方便讀寫非字元串的數據。
因為這個目的,json模塊的loads()和mps()方法有些雞肋,還造成困擾,因為明明json不是字元串,幹嘛要轉成字元串,另外mp()和load()方法表面上和它們不一樣。只有明白json模塊的目的,才會搞明白。
在python 3.6的說明文檔中,把json模塊放在了《7.2.文件讀寫》部分。我也是看到這里才去練習json模塊。但出問題,有些糊塗,明白json模塊的作用後,才更清楚幹嘛把json模塊放這里。
小白的淺見,若錯誤請指教,謝謝。
⑽ python 怎麼處理json
json.mps()
該函數可以將簡單數據類型(int\float\string\tuple\list\dict\unicode)轉換成JSON格式,樣例代碼如下:
import json
src_data = {"name":"Tacey","age":13,"sex":"male","interst":("Programing","Reading")}
#print repr(src_data)
print json.mps(src_data)
輸出如下:
{'interst':('Programing','Reading'),'age':23,'name':'Tacey','sex':'male'}
{"interst":["programing","Reading"],"age":23,"name":"Tacey","sex":mal"}
2、json.loads()
該函數可以將JSON數據轉換成Python的簡單數據類型,接著上面的代碼:
json_data = json.mps(src_data)
print json.loads(json_data)["name"]
輸出結果:
Tacey