我試圖用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