簡體   English   中英

在python中將字符串轉換為json

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM