2014-04-07 30 views
0

我试图在JSON字符串中使用HTML代码,但是我遇到了一些问题。 JSON.parse(string)引发异常"Unexpected token <"在JSON字符串中使用HTML代码引发的异常

寻找互联网上的解决方案我看到问题不应该存在。所以,我用验证(http://jsonlint.com/)和响应尝试是

Parse error on line 1580: 
...re",  "DEU": "<b>BESCHREIBUNG</b> 
----------------------^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[' 

好了,问题是LT符号...等等!该错误是在1580线,但我在此之前,已经更多LT/GT的符号,例如:

... 
[1557] "VAC_SAFETY_LONG": { 
[1558]  "ITA": "Segnale sicurezza vuoto mancante", 
[1559]  "ENG": "Vacuum safety signal missing", 
[1560]  "DEU": "<b>BESCHREIBUNG</b><br> Dieser Alarm wird ausgelost, wenn die Sicherheitsbedingungen fur den Aufbau des Vakuums im Gehause nicht gegeben sind. <br><br><b>REAKTION DES OFENS</b><br> Keine spezifische Reaktion. <br><br><b>URSACHEN UND ABHILFE</b><br> Der Gehausedruck ist hoher als der Atmospharendruck. <br><br> Problem mit dem Niederdruckschalter [BSP_LP]. <br><br> Den Druckschalter uberprufen." 
[1561] }, 
... 
[1572] "VOP_LONG": { 
[1573]  "ITA": "Sovrapressione campana", 
[1574]  "ENG": "Vessel overpressure", 
[1575]  "DEU": "<b>BESCHREIBUNG</b><br> Dieser Alarm wird ausgelost, wenn der im Gehause vorliegende Druck den zulassigen Hochstwert ubersteigt. <br><br><b>REAKTION DES OFENS</b><br> Das Gaseinlassventil schlieBt sich. Sollte sich das Gaseinlassventil nicht schnell genug schlieBen, offnet sich das Sicherheitsventil. <br><br><b>URSACHEN UND ABHILFE</b><br> Ungenaue Druckmessung. Der Druckmesser sollte neu justiert oder ersetzt werden. <br><br> Gaseinlassventil zu langsam. Das Elektroventil muss reguliert werden, damit sich das Ventil rascher schlieBt." 
[1576] }, 
[1577] "VOT_LONG": { 
[1578]  "ITA": "Sovratemperatura campana", 
[1579]  "ENG": "Vessel overtemperature", 
[1580]  "DEU": "<b>BESCHREIBUNG</b><br> Dieser Alarm wird ausgelost, wenn die Gehausetemperatur hoher als die maximal zulassige Temperatur fur den Ofen ist. <br><br><b>REAKTION DES OFENS</b><br> Die Aufheizung wird angehalten und der Ofen verharrt im Wartezustand. <br><br><b>URSACHEN UND ABHILFE</b><br> Mangel an Kuhlwasser fur das Gehause oder zu hohe Wassertemperatur. In diesem Fall muss das Kuhlwassersystem kontrolliert werden. <br><br> Aus irgendeinem Grund liefert die Heizkammer keine gute Isolierung. Die Hitzeschilde schlieBen unter Umstanden nicht richtig oder einige Teile der Kammerwand konnen beschadigt sein. Der Ofen muss sich abkuhlen und die Heizkammer inspiziert werden. <br><br> Funktionsstorung eines Temperaturschalters. Wenn sich keine Ursache fur den Alarm finden lasst, kann der Temperaturschalter, der den Alarm ausgelost hat, durch einen anderen Schalter aus dem Ersatzteilbestand ausgetauscht werden und ein neuer Zyklus gestartet werden." 
[1581] }, 
... 

由“申”索引的字符串开始用相同的字符,那么为什么一个引发错误和其他人不?

+2

你能提供整个文件吗?如果你将1577-1580行放在一个对象中,它会验证正确。 –

+0

http://pastebin.com/M1JVL1Wb –

回答

1

问题出在你的JSON的1580行,但不是在HTML标记中。这是一个制表符,这里的双<br>标记之前(我不认为这会在这里反正呈现为标签):

"DEU": "<b>BESCHREIBUNG</b><br> ... fur den Ofen ist. <br><br> 

显然,这不是你的问题,而是存在于引擎收录码。如果你删除它,JSONLint会正确解析它。

+0

是啊!非常感谢! –

相关问题