使用JavaScript创建一个JSON对象

6
我正在验证一个表单,其中需要显示某些单选按钮,用户需要根据某些规则选择它们。可以创建的单选按钮数量是动态的,因此我无法在服务器端进行验证,也不能编写预定义的JavaScript代码。
每个单选按钮将被分成组,比如"required",然后进一步分组,比如"center"、"left"、"right"等。因此,用户需要从每个组中选择一个值,这样结构就变成了这样。
-Main Group (if block needs to validate based on this e.g if key=required should validate)
  |
  Sub-group (say left, right etc)
   |
   number of radio buttons based on the sub-group

因此,主分组键可用于确定是否应对其进行验证,并基于子分组键决定哪些值将存在并需要进行验证。

我计划在页面呈现时创建一个JSON对象,例如:

{"required": [
        {"center": "id1,id2,id3"},
        {"left": "id1,id2,id3"}
      ]
  "optional": [
        {"center": "id1,id2,id3"},
        {"left": "id1,id2,id3"}
      ]
};

我不确定我考虑的结构是否正确以及如何在JavaScript中创建它? 就像我有一个用于键的外部循环,然后是一个用于子组的循环,最后是用于子组中按钮的循环。

 for(main group key){
     for(subgroup key){
       for(list of radio button under subgroup key)
}
  }

但是我不确定如何创建正确的结构,以便稍后可以用jquery进行解析并将其用于验证。

非常感谢您提供的任何帮助。


3
JSON是JavaScript对象表示法,因此任何JSON都只是本地的JavaScript对象。实际上,大多数浏览器都包含用于操作JSON的工具(请查看“JSON”名称空间)。要远程加载JSON,您应该查看jQuery的“$.ajax”(即“JSON”格式选项)。使用“$.ajax”,您可以轻松地使用jQuery下载JSON,然后在回调函数中解析它。 - neersighted
@neersighted:我的问题是,我需要在JSP页面本身上创建这个对象而不是在服务器端上创建,我知道jQuery JSON和Ajax的事情,但我需要在UI端创建JSON对象。 - Umesh Awasthi
1
创建一个新对象就可以了吗? var foo = {}foo["bar"] = "baz"。或者,如果你想让它保存特定的信息,请查看这个教程。 - neersighted
1个回答

5
在 JavaScript 中,您可以使用 JSON.stringify(myObject, replacer);。例如,在 JavaScript 中创建一个对象如下:
var myObject={};

现在,在创建 JavaScript 对象之后,您可以将其转换为 JSON 结构,方法如下:
var myJsonText=JSON.stringify(myObject);

注意:replacer是可选的

现在,如果您想将其转换为JSON对象,请使用JSON.parse方法

myJsonObject=JSON.parse(myJsonText)

谢谢您的回复!但是我的问题更关注于按照上述定义创建结构。 - Umesh Awasthi
如果我理解问题的话,您需要一个包含单选按钮的表单验证器?并且您不知道数量。 - Ashirvad
你能否在 jsfiddle 上创建一个表单的虚拟结构?http://jsfiddle.net/ - Ashirvad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接