2016-07-16 21 views
0

嗯,我知道这个问题被问了很多次。但是这个是不同的。SyntaxError:在位置x的JSON中的意外标记

我正在使用getJSON从数据库中获取一些数据。返回的结果是一个有效的JSON(由几个JSON验证检查),但我收到以下错误:

SyntaxError: Unexpected token in JSON at position 1618

其中有一个特殊字符不上面的错误出现。

这是错误消息的屏幕截图:

enter image description here

字符在1618位置是一个空间(代码为32),并且它是文本值内。

这里是JSON文本:

{"headers":["default","fa-ir","en-us"],"results":[{"id":14,"default":"آذربایجان شرقی","fa-ir":"آذربایجان شرقی","en-us":""},{"id":15,"default":"آذربایجان غربی","fa-ir":"آذربایجان غربی","en-us":""},{"id":16,"default":"اردبیل","fa-ir":"اردبیل","en-us":""},{"id":17,"default":"اصفهان","fa-ir":"اصفهان","en-us":""},{"id":18,"default":"البرز","fa-ir":"البرز","en-us":""},{"id":19,"default":"ایلام","fa-ir":"ایلام","en-us":""},{"id":20,"default":"بوشهر","fa-ir":"بوشهر","en-us":""},{"id":21,"default":"تهران","fa-ir":"تهران","en-us":""},{"id":22,"default":"چهارمحال و بختیاری","fa-ir":"چهارمحال و بختیاری","en-us":""},{"id":23,"default":"خراسان جنوبی","fa-ir":"خراسان جنوبی","en-us":""},{"id":24,"default":"خراسان رضوی","fa-ir":"خراسان رضوی","en-us":""},{"id":25,"default":"خراسان شمالی","fa-ir":"خراسان شمالی","en-us":""},{"id":26,"default":"خوزستان","fa-ir":"خوزستان","en-us":""},{"id":27,"default":"زنجان","fa-ir":"زنجان","en-us":""},{"id":28,"default":"سمنان","fa-ir":"سمنان","en-us":""},{"id":29,"default":"سیستان و بلوچستان","fa-ir":"سیستان و بلوچستان","en-us":""},{"id":30,"default":"فارس","fa-ir":"فارس","en-us":""},{"id":31,"default":"قزوین","fa-ir":"قزوین","en-us":""},{"id":32,"default":"قم","fa-ir":"قم","en-us":""},{"id":33,"default":"کردستان","fa-ir":"کردستان","en-us":""},{"id":34,"default":"کرمان","fa-ir":"کرمان","en-us":""},{"id":35,"default":"کرمانشاه","fa-ir":"کرمانشاه","en-us":""},{"id":36,"default":"کهگیلویه و بویراحمد","fa-ir":"کهگیلویه و بویراحمد","en-us":""},{"id":37,"default":"گلستان","fa-ir":"گلستان","en-us":""},{"id":38,"default":"گیلان","fa-ir":"گیلان","en-us":""},{"id":39,"default":"لرستان ","fa-ir":"لرستان ","en-us":""},{"id":40,"default":"مازندران","fa-ir":"مرکزی","en-us":""},{"id":41,"default":"هرمزگان","fa-ir":"هرمزگان","en-us":""},{"id":42,"default":"همدان","fa-ir":"همدان","en-us":""},{"id":43,"default":"یزد","fa-ir":"یزد","en-us":""}]} 
+0

如果可能的话发布json文本。 –

+0

检查你是否将未知字符粘贴到json中,尝试在记事本编辑器中粘贴json然后粘贴回来并尝试 –

+0

@SubirKumarSao我添加了json代码 –

回答

3

你的JSON(从http://sabad123.com/ajax/update-input.aspx?t=province&id=8检索)在字符1618制表("\t"),就在这里:

...{"id":39,"default":"لرستان \t",... 

这是无法解析的Python的JSON解析器以及$.getJSON

我接下来看看你是如何生产这个JSON的。由于它看起来不是有效的,因此无论产生什么东西都可能存在一个错误。

至少,你可以通过摆脱标签来修复这个特定的数据问题。

编辑

需要注意的是,事实上,每JSON规范,标签是不是一个JSON字符串的字符允许的。见https://stackoverflow.com/a/19799355/94559。我认为\u0009是逃避制表符的正确方法。

+0

你是一位天才。非常感谢。 –

相关问题