我试图用JSON.parse
解析这个字符串。解析JSON错误:Javascript
例。
str = "{'xyz': ['300543979001'], 'abc': ['1193'], 'serial_no': ['1'], 'product_tax_amt': ['408.813'], 'product_mrp': ['4699.0'], 'product_qty': ['1.0'], 'contract_type': ['FG'], 'product_tax_rate': ['14.5'], 'is_vat_exclusive': ['True'], 'product_net_amt': ['3228.213'], 'sap_details': [''], 'reference_invoice_no': [''], 'pd': [\"1||9911143976001||18373205-L-I-F-T- RACER WN'S, PINK, 5||11143976||PUMA-18373205-L-I-F-T- RACER WN'S, PINK, 5-5||4699.0||291||629||1||2||41\"], 'topup_offers': ['{}'], 'product_discount_percentage': ['40.0'], 'total_discount_percentage': ['40.0'], 'basic_tax_rate': ['0.0'], 'total_discount_amt': ['1879.6'], 'product_return_qty': ['0.0'], 'product_gross_amt': ['0.0'], 'invoice_no': ['11065011391'], 'product_discount_amt': ['1879.6'], 'is_voided': ['False'], 'supplier_no': ['198'], 'addl_tax_rate': ['0.0'], 'product_cost_amt': ['1.0'], 'code': ['4046643889059']}"
注::这是单引号&几个值可能包含引号也一样[\"1||9911143976001||18373205-L-I-F-T- RACER WN'S, PINK, 5||11143976||PUMA-18373205-L-I-F-T- RACER WN'S, PINK, 5-5||4699.0||291||629||1||2||41\"]
>> JSON.parse(str)
但其投掷的错误:Unexpected token '
EDITED
我想在这里很少有东西用双引号替换这些单引号,
>> str = str.replace(/'/g, '"')
>> JSON.parse(str)
但随后引发错误,
SyntaxError: Unexpected token S
是否有使用regex
什么的任何方式,所以我可以解析那个字符串?
您需要双引号(''')而不是单引号(''')。当然,这意味着您必须在字符串中将它们转义,如'\“'。 – Aioros 2013-03-19 15:02:47
那个数据由服务器响应,现在该如何解决这个问题,所以我们可以解析一下呢? – 2013-03-19 18:46:28
我刚刚添加了一个答案,看看它是否适合你。但我仍然希望有人有更好的一个。 – Aioros 2013-03-20 11:26:00