JSONWithPadding的结果最后缺少分号:

 JSONWithPadding jsonWithPadding = new JSONWithPadding({"key":"value"}, "cb");
 return Response.status(200).entity(jsonWithPadding).build();


预期:

cb({"key":"value"});  --> with semicolon


实际:

cb({"key":"value"})  --> without semicolon


有任何想法吗?

最佳答案

不缺少分号,在大多数情况下(此示例),它是可选的。因此JSONWithPadding类正常工作。

ECMAScript语言规范定义了7.9.1 Rules of Automatic Semicolon Insertion,从JavaScript and Semicolons总结为


  某些ECMAScript语句(空语句,变量语句,表达式语句,do-while语句,continue语句,break语句,return语句和throw语句)必须以分号终止


What are the rules for JavaScript's automatic semicolon insertion (ASI)?也对此进行了详细介绍

07-24 09:22