Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 由于附加引号,JSON字符串无效_Python_Json - Fatal编程技术网

Python 由于附加引号,JSON字符串无效

Python 由于附加引号,JSON字符串无效,python,json,Python,Json,我正在尝试加载此JSON字符串,但它无效,因为该项的名称中有额外的引号“名称”:“1/2\”驱动器2“扩展名”。如何识别和更正附加报价 { "@context": "http://schema.org", "@type": "Product", "name": &

我正在尝试加载此JSON字符串,但它无效,因为该项的名称中有额外的引号<代码>“名称”:“1/2\”驱动器2“扩展名”。如何识别和更正附加报价

              {
                  "@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
时,这才有效。如果还有更多的话,我也得为他们重复一遍。