我想做的很简单。将这个包含json对象的数组解析为Javascript数组。
var merchantsJson = JSON.parse('[{"id":61693,"name":"Más"},{"id":61690,"name":"\u0027\u0022\u003C/div\u003E"}]');
但是unicode字符\u003C似乎破坏了解析器。在chrome控制台中,我看到“UncaughtSyntaxerror:意外令牌”
多一点信息。以上是代码的计算结果。实际上,代码包含一个jsp表达式。
var merchantsJson = JSON.parse('${jsonArr}');
如果我删除单引号,没有问题,但是eclipse给我一个“丢失分号”的错误消息。是否可以解析数组与引号,因为我试图做的?
尝试将\u
替换为\\u
。否则,JSON解析器将接收已解码的Unicode,这将创建JSON。
因为您的字符串文本中有一个额外的“
,由\u0022
编码:
> '[{"id":61693,"name":"Más"},{"id":61690,"name":"\u0027\u0022\u003C/div\u003E"}]'
[{"id":61693,"name":"Más"},{"id":61690,"name":"'"</div>"}]
简而言之,字符串中的JSON无效。您需要转义字符串文本(“')\u0022中引号的unicode转义序列
JSON.parse('[{"id":61693,"name":"Más"},{"id":61690,"name":"\u0027\\u0022\u003C/div\u003E"}]'
// ^
或转义引用字符(
'\"
JSON.parse('[{"id":61693,"name":"Más"},{"id":61690,"name":"\u0027\\\u0022\u003C/div\u003E"}]');
// ^^
然而,实际上根本不需要使用JSON。只需将JS数组文本输出到代码中:
var merchantsJson = ${jsonArr};
${jsonArr}
的插值已经是一个JavaScript对象。当您将其包装在'${jsonArr}'
中时,这会将其转换为字符串,您必须使用JSON。解析
。
没有必要把它变成字符串。您只需执行var-merchantsArray=${jsonArr}
。JSON构造已经可以与JavaScript代码互操作。
我试图用Moshi解析一个Json响应,我遇到的问题是键的值是字符串上的Json换行: 这是我的课
然而,Antlr似乎不喜欢我在两个不同的地方使用“函数”。据我所知,语法甚至没有歧义。 在下面的语法中,如果我删除第1行,生成的解析器解析示例输入没有问题。另外,如果我更改第2行或第3行中的令牌字符串,使它们不相等,解析器就会工作。 我得到的语法错误是: 测试生成的解析器的程序:
无法弄清楚如何将以下带有GSON的JSON字符串解析为任何适当的对象以检索其数据。字符串是: 我发现方括号表示它是一个ArrayList,但里面还有另一个对象。 如果我试着在ArrayList上搜索: 然后它抱怨: 如果我尝试相反的方法: 然后它也在抱怨: 不理解该格式:-/ 感谢您的任何建议!
当我将Bean字段切换到public时,所有工作都很好,但我真的想使用getter和setter(最好是由Lombok生成的)。
大家好,我的问题是我为android开发了一个应用程序,它使用json解析器从我的php Web服务中获取数据并将其显示在listview中,但当我运行该应用程序时,它显示了以下内容: 日志: 我的代码: 具有列表视图的活动并调用json解析器: Json解析器在这个我只改变了这一行BufferedReader=new BufferedReader(new InputStreamReader(is
为什么我无法解析符号“r”..??。当我在这个.class文件上创建新活动时,我会遇到一个问题,为什么我不知道在创建类之后我什么也没做。(在R.Layout.Dashboard中)。(“红色R”)。 请帮帮我.