Я получаю сообщение об ошибке, когда я разбираю json строку в javascript. «Uncaught SyntaxError: Неожиданный токен Z» Я знаю его для двойных qoutes в теге «Source», но как это разобрать?javascript Json parse error Doubleqoutes
<script type="text/javascript">
var data = '[ { "Outcome": "Success", "Message": null, "Identity": "Request", "Delay": 0.115825, "BaseCurrency": "EUR", "QuoteCurrency": "USD", "Symbol": "EURUSD", "Date": "10/07/2015", "Time": "2:46:32 PM", "QuoteType": "Spot", "Bid": 1.12394, "Mid": 1.12397, "Ask": 1.124, "Spread": 0.00006, "Text": "1 European Union euro = 1.12397 United States dollars", "Source": "SIX Financial Information, Buyer = \"ZKB Zuercher Kantonalbank, Devisen\", Seller = \"ZKB Zuercher Kantonalbank, Devisen\"" }, { "Outcome": "Success", "Message": null, "Identity": null, "Delay": 0, "BaseCurrency": "GBP", "QuoteCurrency": "USD", "Symbol": "GBPUSD", "Date": "10/07/2015", "Time": "2:46:32 PM", "QuoteType": "Spot", "Bid": 1.5293, "Mid": 1.5295, "Ask": 1.5297, "Spread": 0.0004, "Text": "1 British pound sterling = 1.5295 United States dollars", "Source": "SIX Financial Information, Buyer = \"UBS Investment Bank\", Seller = \"UBS Investment Bank\"" } ]';
var obj = JSON.parse(data);
for(var key in obj){
console.log(obj[key].Symbol);
}
</script>
Я мог бы использовать методы замены, но это не чистое решение, я думаю.
Использование '' \ "внутри строки в кавычках, как у вас есть в' Source' является законным См json.org –
'' \ '' это специальный символ в строковых литералов * и *.. JSON: JSON внутри строковых литералов не очень распространен. Почему вы используете JSON здесь, в первую очередь? –