【发布时间】:2016-11-14 06:10:58
【问题描述】:
我正在开发一个使用 Alpacajs 表单的项目,在 java 上创建模式 JSON,现在我需要创建一个具有不带双引号的值的 json,例如:
"buttons": {
"submit": {
"click": function() {
this.refreshValidationState(true);
if (!this.isValid(true)) {
this.focus();
return;
}
this.ajaxSubmit();
}
}
}
这是我的代码:
JSONObject ob = new JSONObject();
JSONObject button = new JSONObject();
JSONObject submit = new JSONObject();
submit.put("click", "function() {"
+"this.refreshValidationState(true);"
+"if (!this.isValid(true)) {"
+" this.focus();"
+" return;"
+"}"
+"this.ajaxSubmit();"
+"}");
button.put("submit", submit);
ob.put("buttons", button);
但我得到了这个: 调用后 toJSONString();
"buttons": {
"submit": {
"click": "function() {this.refreshValidationState(true);if (!this.isValid(true)) { this.focus(); return;}this.ajaxSubmit();}"
}
click 的值是双引号,但我需要它不带引号,如何使用 toJSONString() 方法从 JSONObject 中删除双引号。 任何想法。
谢谢。
【问题讨论】:
-
请定义“javascript 不起作用”。在 JSON 中,属性名称必须用引号括起来,并且 JS 应该可以正常工作。在 JSON 字符串中传递函数可能是您的实际问题?
-
JS 对象可以包含函数。但是 JSON 字符串不能包含函数。
-
这里是链接alpacajs.org/docs/api/forms.html,我从中获取示例创建表单。如果我把它放在它工作正常但如果 json 值有双引号则它不起作用。
-
该页面上的不是 JSON。那是成熟的 Javascript。 JSON 是 Javascript 的一个非常有限的子集,它不允许您定义函数。
-
我没有定义函数,但我需要这种 JSON,因为这种格式在 Alpacajs 中用于在表单上创建操作。
标签: javascript java json alpacajs