Javascript 为什么我会得到未捕获的SyntaxError:意外标记非法

Javascript 为什么我会得到未捕获的SyntaxError:意外标记非法,javascript,jquery,ajax,json,soundcloud,Javascript,Jquery,Ajax,Json,Soundcloud,我想使用AJAX和SoundCloudAPI来获取用户的轨迹 jQuery.ajax({ url: 'http://api.soundcloud.com/resolve?url=http://soundcloud.com/[SOME USER]/tracks/&format=json&consumer_key=[MY KEY]&callback=?' , dataType: 'jsonp' , s

我想使用AJAX和SoundCloudAPI来获取用户的轨迹

jQuery.ajax({
              url: 'http://api.soundcloud.com/resolve?url=http://soundcloud.com/[SOME USER]/tracks/&format=json&consumer_key=[MY KEY]&callback=?'
            , dataType: 'jsonp'
            , success: function( data ) {
                console.log( data );
            }
            });
我可以看到chrome获得了json数据,但我得到了错误

Uncaught SyntaxError: Unexpected token ILLEGAL
在控制台中

问题可能是json文件是一个json数组。这可能是错误吗?
如果是,如何将数组转换为单个对象?

问题是曲目id#159500192(
'Summer Chords Pt.2'(Electro House Mix)
)中的描述字段在JavaScript字符串中包含不合法的不可见字符,因此,当试图将JSONP响应作为脚本运行时,JavaScript解析器会阻塞。SoundCloud应该在通过JSONP提供内容时对这些值进行编码

因为SoundCloud支持CORS,所以根本不需要使用JSONP。您只需删除
callback=?
参数并使用
dataType:json
(而不是
jsonp
)即可直接请求文件:


数据的内容是什么请发布JSON的内容!试试看;)问题在于曲目id#159500192(
'Summer Chords Pt.2'(Electro House Mix)
)中的
description
字段具有JavaScript字符串中不合法的不可见字符,因此JavaScript解析器在尝试将JSONP响应作为脚本运行时会阻塞。当通过JSONP提供内容时,SoundCloud应该对这些值进行编码。是否有任何工具可以检查JS字符串中的非法不可见字符?
jQuery.ajax({ url: "https://api.soundcloud.com/resolve?url=http://soundcloud.com/[USER]/tracks/&format=json&consumer_key=[KEY]",
              dataType: 'json',
              success: function(d) { console.log(d); }
});