Python 由于附加引号,JSON字符串无效
我正在尝试加载此JSON字符串,但它无效,因为该项的名称中有额外的引号<代码>“名称”:“1/2\”驱动器2“扩展名”。如何识别和更正附加报价Python 由于附加引号,JSON字符串无效,python,json,Python,Json,我正在尝试加载此JSON字符串,但它无效,因为该项的名称中有额外的引号“名称”:“1/2\”驱动器2“扩展名”。如何识别和更正附加报价 { "@context": "http://schema.org", "@type": "Product", "name": &
{
"@context": "http://schema.org",
"@type": "Product",
"name": "1/2\" Drive 2" Extension",
"image": "https://snap-on-products-hr.imgix.net/SX2.jpg",
"description": "Buy 1/2\" Drive 2" Extension, Item #SX2, from Snap-on Store.",
"brand": "Snap-on",
"sku": "SX2",
"offers": {
"@type": "Offer",
"url": "https://shop.snapon.com/product/Knurled-Extensions/1-2%22-Drive-2%22-Extension/SX2",
"priceCurrency": "USD",
"price": "26.25"
}
}
下面是我如何尝试通过python加载它<代码>内容字符串是示例中的占位符
import json
content = '{"@context": "http://schema.org", "@type": "Product", "name": "1/2\" Drive 2" Extension", "image": "https://snap-on-products-hr.imgix.net/SX2.jpg", "description": "Buy 1/2\" Drive 2" Extension, Item #SX2, from Snap-on Store.", "brand": "Snap-on", "sku": "SX2", "offers": { "@type": "Offer","url": "https://shop.snapon.com/product/Knurled-Extensions/1-2%22-Drive-2%22-Extension/SX2","priceCurrency": "USD","price": "26.25"}}'
dictTool = json.loads("".join(content))
到目前为止,最好的选择是修复该JSON的任何损坏的源代码。您需要用反斜杠转义该附加引号,否则JSON数据将完全无效。@T.J.Crowder不幸的是,我无法。该字符串是从站点检索的。值得向其删除有关如何生成正确JSON的注释的问题。:-)我认为最好的情况是,如果您可以修复源代码,假设这不是一个选项,我会尝试使用字符串处理从输入中删除
name
键和值,然后加载json。这样,我将获得其余的数据,对于name,我将删除所有引号,直到逗号,然后将其添加到dictTool。此外,只有当json中唯一不一致的是name
时,这才有效。如果还有更多的话,我也得为他们重复一遍。