2015-09-18 57 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库,它应该工作。