如何通过字符串分隔两个json文件?



我试图从一个网站解析JSON,以提取一些数据。JSON以某种方式"组合"了,这意味着描述了一个产品的数据集,而不分离下一个产品,JSON只是继续。这会在json.load(python3.8)中抛出一个错误。

问题部分如下:

"name": "30 stk"
}
}
}                                               {
"@type":"Product"

jsonlint输出如下错误:

Error: Parse error on line 126:
...30 stk"          }       }   } {     "@type": "Produc
--------------------^
Expecting 'EOF', '}', ',', ']', got '{'

全JSON:

{"@context":"https://schema.org","@type":"Product","@id":"/antistax-extra-venentabletten-bei-venenleiden-60stk-pzn-00002335","aggregateRating":{"@type":"AggregateRating","ratingValue":"4,8","reviewCount":"26"},"description":"AntistaxextraVenentablettenbeiVenenleiden60stkkaufenbeiderOnlineApothekeapo-discounter.Medikamente,Nahrungsergänzungenuvm.erhaltenSieinunsererVersandapothekezugünstigenPreisen.","name":"AntistaxextraVenentablettenbeiVenenleiden(60stk)","image":"https://www.apodiscounter.de/images/product_images/info_images/00002335_4.jpg","sku":"00002335","mpn":"00002335","productID":"00002335","category":"Venenerkrankung","brand":{"@type":"Organization","name":"Antistax"},"offers":{"@type":"Offer","availability":"https://schema.org/InStock","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenleiden-60stk-pzn-00002335","price":"27.49","priceValidUntil":"2021-01-26","priceCurrency":"EUR","category":"Filmtabletten","eligibleQuantity":"60stk","itemCondition":"NewCondition","seller":{"@type":"Organization","name":"apo-discounter.de"}},"issimilarto":[{"@type":"Product","mpn":"00002312","name":"AntistaxextraVenentablettenbeiVenenleiden","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenleiden-30stk-pzn-00002312","description":"AntistaxextraVenentablettenbeiVenenleiden30stkkaufenbeiderOnlineApothekeapo-discounter.Medikamente,Nahrungsergänzungenuvm.erhaltenSieinunsererVersandapothekezugünstigenPreisen.","image":"https://www.apodiscounter.de/images/product_images/info_images/00002312.jpg","sku":"00002312","brand":{"@type":"Organization","name":"Antistax"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"5,0","reviewCount":"13"},"review":[{"@type":"Review","author":"ErnaD.","datePublished":"30.10.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"DomenicaZ.","datePublished":"04.09.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"RitaS.","datePublished":"11.07.2020","description":"kaumwirksam","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"VerifizierterKunde","datePublished":"10.04.2020","description":"Binnichtganzüberzeugt","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"VerifizierterKunde","datePublished":"06.03.2020","description":"BinpositivüberraschtvondemProdukt","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}}],"offers":{"@type":"Offer","availability":"https://schema.org/InStock","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenleiden-30stk-pzn-00002312","price":"15.99","priceValidUntil":"2021-01-26","priceCurrency":"EUR","eligibleQuantity":{"@type":"QuantitativeValue","name":"30stk"}}}{"@type":"Product","mpn":"05954715","name":"AntistaxextraVenentablettenbeiVenenschwäche","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenschwaeche-90stk-pzn-05954715","description":"AntistaxextraVenentablettenbeiVenenschwäche90stkkaufenbeiderOnlineApothekeapo-discounter.Medikamente,Nahrungsergänzungenuvm.erhaltenSieinunsererVersandapothekezugünstigenPreisen.","image":"https://www.apodiscounter.de/images/product_images/info_images/05954715.jpg","sku":"05954715","brand":{"@type":"Organization","name":"Antistax"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4,8","reviewCount":"167"},"review":[{"@type":"Review","author":"VerifizierterKunde","datePublished":"05.12.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"RoswithaT.","datePublished":"23.11.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"RalfZ.","datePublished":"22.11.2020","description":"Gutundpreiswert!","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"ReinhardS.","datePublished":"22.11.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"VerifizierterKunde","datePublished":"08.11.2020","description":"WennmanProblememitVenenhatundlangeaufdenBeinenist,hilftesdenTagbesserzumeistern...","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}}],"offers":{"@type":"Offer","availability":"https://schema.org/InStock","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenschwaeche-90stk-pzn-05954715","price":"33.49","priceValidUntil":"2021-01-26","priceCurrency":"EUR","eligibleQuantity":{"@type":"QuantitativeValue","name":"90stk"}}},{"@type":"Product","mpn":"16156023","name":"AntistaxextraVenentablettenbeiVenenleiden&Venenschwäche","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenleiden-venenschwaeche-180stk-pzn-16156023","description":"AntistaxextraVenentablettenbeiVenenleiden&Venenschwäche180stkkaufenbeiderOnlineApothekeapo-discounter.Medikamente,Nahrungsergänzungenuvm.erhaltenSieinunsererVersandapothekezugünstigenPreisen.","image":"https://www.apodiscounter.de/images/product_images/info_images/16156023.jpg","sku":"16156023","aggregateRating":{"@type":"AggregateRating","ratingValue":"5,0","reviewCount":"3"},"review":[{"@type":"Review","author":"IrinaL.","datePublished":"20.01.2021","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"AlfredS.","datePublished":"20.01.2021","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"VerifizierterKunde","datePublished":"11.01.2021","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}}],"offers":{"@type":"Offer","availability":"https://schema.org/InStock","url":"https://www.apodiscounter.de/antistax-extra-venentabletten-bei-venenleiden-venenschwaeche-180stk-pzn-16156023","price":"56.49","priceValidUntil":"2021-01-26","priceCurrency":"EUR","eligibleQuantity":{"@type":"QuantitativeValue","name":"180stk"}}}],"review":[{"@type":"Review","author":"KlausS.","datePublished":"11.12.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"4","worstRating":"1"}},{"@type":"Review","author":"OttiZ.","datePublished":"19.10.2020","description":"Zufrieden","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"MonikaM.","datePublished":"03.09.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"RitaP.","datePublished":"14.08.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"5","worstRating":"1"}},{"@type":"Review","author":"VerifizierterKunde","datePublished":"24.07.2020","description":"","name":"","reviewRating":{"@type":"Rating","bestRating":"5","ratingValue":"3","worstRating":"1"}}]}

我如何将这两者分开,或者是否有一个函数来解决这个问题?我尝试了.split('} {'),但这不起作用。

似乎您有一个JSON数组,其中包含两个JSON对象,没有逗号分隔。

你应该把} {换成}, {