[英]Convert string to json in python
json.loads('{"name": "Sam"}')
{u'name': u'Sam'}
這應該不顯示
{"name": "Sam"}
?
Python 2.7
有什么問題
首先,您的標題出了些混亂,它說“將字符串轉換為JSON”。 您沒有轉換為JSON ,而是將以JSON格式編碼的字符串反序列化為Python對象。
其次,您問:
這應該不顯示
{"name": "Sam"}
?
不,不應該。 這些將暗示Python 2 str
類型,它們是字節字符串。 JSON規范非常明確:
字符串是零個或多個Unicode字符的序列,使用反斜杠轉義符將其括在雙引號中。
因此,Python json
解析器正確返回了unicode
數據類型,在Python 2中,該數據類型將使用u
。 請注意,這不是字符串的一部分,而是字符串 表示的一部分。
請注意,在Python 3中(無論如何您都應該使用它), str
類型對應於Python 2 unicode
類型,而舊的字節字符串屬於bytes
類。 如果u
真的打擾你,然后切換到Python 3 :)
因此,總而言之,沒有問題。 根據JSON標准,json字符串是unicode字符串,而Python json
解析器反序列化為Python 2中的unicode數據類型。這是預期的,可取的和有據可查的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.