2015-09-18 82 views
-1

所以我有一些帶引號的JSON文本字段。當我嘗試使用下面的代碼提取字段的值時,如果文本字段中包含引號,則會給出錯誤信息。帶引號的JSON文本字段

filename="op.json" 

fp=open(filename, "r") 
wp=open("new.json", "w") 

json_object = json.load(fp) 

for tweet in json_object["ABC"]: 
     wp.write ("\" created at \": \"" + str(tweet["created_at"]) + "\"") 
     wp.write ("\" id \": \"" + str(tweet["id"]) + "\"") 

它會正常工作爲輸入"id": "This is the id"

但不會爲"id": This "is" the id"

+0

您給出的文本字段中的逗號作爲示例? –

+0

你看起來令人困惑的逗號(',')帶引號('''),有時非正式地被稱爲「引號」 – jwodder

+2

呃,''id「:這個」是「id是無效的JSON。可以請發佈一個實際的JSON的例子嗎?如果JSON無效,那麼您必須修復產生它的任何內容。 –

回答

0

你的第二個例子中工作是不正確的JSON。如果你有一個字符串中的雙引號,他們需要用反斜槓轉義:

{ "ABC": [ 
    { "id1": "This is the id" }, 
    { "id2": "This \"is\" the id" } 
    ] 
} 

你需要解決什麼程序創建JSON文件,因此創建適當的格式。我懷疑它沒有使用庫函數,所以它不處理這樣的特殊情況。使用JSON庫,它應該工作。