測試版本為python2.7
import json
pobj =
print "type=%s content=%s"%(type(pobj), pobj)
jsonstr = json.dumps(pobj) #編碼
print "type=%s content=%s"%(type(jsonstr), jsonstr)
obj= json.loads(jsonstr) #解碼
print "type=%s content=%s"%(type(obj), obj)
執行結果如下:
type=content=
type=content=
type=content=
參考python原始碼中的注釋,編碼結果如下圖
+-------------------+---------------+
| python | json |
+***************====+***************+
| dict | object |
+-------------------+---------------+
| list, tuple | array |
+-------------------+---------------+
| str, unicode | string |
+-------------------+---------------+
| int, long, float | number |
+-------------------+---------------+
| true | true |
+-------------------+---------------+
| false | false |
+-------------------+---------------+
| none | null |
+-------------------+---------------+
解碼結果如下圖:
+---------------+-------------------+
| json | python |
+***************+***************====+
| object | dict |
+---------------+-------------------+
| array | list |
+---------------+-------------------+
| string | unicode |
+---------------+-------------------+
| number (int) | int, long |
+---------------+-------------------+
| number (real) | float |
+---------------+-------------------+
| true | true |
+---------------+-------------------+
| false | false |
+---------------+-------------------+
| null | none |
+---------------+-------------------+
在解碼的過程中遇到了一些問題:
import json
a = ''
#b = '' 編譯異常
c = ""
d = ""
e = ''''''
f = ''''''
g = ""
obj = json.loads(g)
print "type=%s content=%s" % (type(obj), obj)
debug結果如圖
無論最外層使用單引號、雙引號還是三引號,解析器解析後都會變為單引號,只要內外層引號不重複即可,否則內層引號前將新增\\導致解析錯誤
python 編碼解碼
一種編碼想要轉成另一種編碼,需要先解碼成萬國碼 unicode,然後再從unicode轉成其他編碼。例如gbk格式想要轉成utf 8,需要先按照 gbk 的格式 decode 成 unicode,再從 unicode 格式 encode 成utf 8 python3預設使用utf 8編碼,故不用宣告...
編碼 解碼 python
之前一直對python檔案中編碼解碼糊里糊塗,今天看到一篇文章,覺得把我講的有點明白了。寫個心得吧。1 編碼解碼是怎麼一回事?python 裡面的編碼和解碼也就是 unicode 和 str 這兩種形式的相互轉化。編碼是 unicode str,相反的,解碼就是 str unicode。str形式,...
使用python對url編碼解碼
對url進行編碼和解碼,python提供了很方便的介面進行呼叫。1.urllib.quote string safe 對字串進行編碼。引數 safe 指定了不需要編碼的字元 2.urllib.unquote string 對字串進行解碼 3.urllib.quote plus string safe...