如何创建嵌套的 JSON 字符串
How to create nested JSON string
我想基于 html 元素创建这个 JSON
{
"AppName": "ERP",
"ModuleDesc": [
{
"Name": "Payroll",
"AcCESSRIGHTS": [
{
"Create": "Y",
"Retrive": "Y",
"Update": "Y",
"Delete": "Y"
}
]
},
{
"Name": "Reports",
"AcCESSRIGHTS": [
{
"Create": "Y",
"Retrive": "N",
"Update": "Y",
"Delete": "N"
}
]
},
{
"Name": "Forms",
"AcCESSRIGHTS": [
{
"Create": "Y",
"Retrive": "Y",
"Update": "N",
"Delete": "N"
}
]
}
]
}
我的 HTML 是 :=
<table>
<tr>
<td style="width: 200px;">APPLICATION CATEGORY :</td>
<td>
<input id="Text1" maxlength="35" name="ONEICAPP" style="width: 400px; text-transform: uppercase"
type="text" value="INTERIOR SYSTEM" />
</td>
</tr>
</table>
<table>
<tr>
<td style="width: 400px;"> MODULE DESCRIPTION</td>
<td style="width: 50px;"> CREATE</td>
<td style="width: 50px;"> RETRIVE</td>
<td style="width: 50px;"> UPDATE</td>
<td style="width: 50px;"> DELETE</td>
</tr>
</table>
<div id="ModuleDescriptions">
<table >
<tr>
<td style="width: 400px;">
<input id="ModuleName1" maxlength="35" style="width: 400px; text-transform: uppercase" type="text" value="ALL REPORTS" />
</td><td>
<table ><tr>
<td style="width: 50px;"><input id="CRT-1" type="checkbox" name="ModuleName1" value="C" />
</td>
<td style="width: 50px;"><input id="RTV-1" type="checkbox" name="ModuleName1" value="R"/>
</td>
<td style="width: 50px;"><input id="UPD-1" type="checkbox" name="ModuleName1" value="U" />
</td>
<td style="width: 50px;"><input id="DLT-1" type="checkbox" name="ModuleName1" value="D" />
</td></tr></table></td>
</tr>
<tr>
<td style="width: 400px;">
<input id="ModuleName2" maxlength="35" style="width: 400px; text-transform: uppercase" type="text" value="CREATE MASTER" />
</td><td><table><tr><td style="width: 50px;"><input id="CRT-2" class="Rights" type="checkbox" name="ModuleName2" value="C" />
</td>
<td style="width: 50px;"><input id="RTV-2" class="Rights" type="checkbox" name="ModuleName2" value="R"/>
</td>
<td style="width: 50px;"><input id="UPD-2" class="Rights" type="checkbox" name="ModuleName2" value="U" />
</td>
<td style="width: 50px;"><input id="DLT-2" class="Rights" type="checkbox" name="ModuleName2" value="D" />
</td> </tr></table></td>
</tr>
<tr>
<td style="width: 400px;">
<input id="ModuleName3" maxlength="35" style="width: 400px; text-transform: uppercase" type="text" value="PROCESS" />
</td><td><table><tr><td style="width: 50px;"><input id="CRT-3" class="Rights" type="checkbox" name="ModuleName3" value="C" />
</td>
<td style="width: 50px;"><input id="RTV-3" class="Rights" type="checkbox" name="ModuleName3" value="R"/>
</td>
<td style="width: 50px;"><input id="UPD-3" class="Rights" type="checkbox" name="ModuleName3" value="U" />
</td>
<td style="width: 50px;"><input id="DLT-3" class="Rights" type="checkbox" name="ModuleName3" value="D" />
</td>
</tr></table></td>
</tr>
</table>
输入 ID 和相应的访问权限(复选框)名称相同我可以使用 Jquery .each 来循环和动态构建 json 字符串吗?或任何其他方式..请帮助我
经过大量的谷歌搜索,我在下面做了,也许它会帮助一些人
data = "{'REQTYPE':'" + Req_Type + "', 'APPNAME':'" + $('[id$=hfONEICAPPLabel]').val() + "', "
+ "'MODULEDESC': [";
$('input[id*=ModuleName]').each(function () {
j++;
CompareName = $(this).attr('id');
data = data + "{'Name':'" + $(this).val() + "', "
+ "'ACCESSRIGHTS': [{";
$("input[name='" + CompareName + "']").each(function () {
if ($(this).is(':checked')) {
if ($(this).attr('id').substring(0, 3) === "CRT") {
data = data + "'Create':'Y',";
}
else if ($(this).attr('id').substring(0, 3) === "RTV") {
data = data + "'Retrive':'Y',";
}
else if ($(this).attr('id').substring(0, 3) === "UPD") {
data = data + "'Update':'Y',";
}
else if ($(this).attr('id').substring(0, 3) === "DLT") {
data = data + "'Delete':'Y'";
}
}
else {
if ($(this).attr('id').substring(0, 3) === "CRT") {
data = data + "'Create':'N',";
}
else if ($(this).attr('id').substring(0, 3) === "RTV") {
data = data + "'Retrive':'N',";
}
else if ($(this).attr('id').substring(0, 3) === "UPD") {
data = data + "'Update':'N',";
}
else if ($(this).attr('id').substring(0, 3) === "DLT") {
data = data + "'Delete':'N'";
}
}
});
if (i == j)
data = data + "}]}";
else
data = data + "}]},";
});
data = data + "]}";
相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 从多维嵌套json数组创建下拉列表
- 带嵌套json的下划线js查找
- 返回嵌套JSON中包含特定键的所有值
- 嵌套JSON到平面HTML表
- 原型Ajax请求参数为嵌套json
- 从对象数组中动态创建嵌套json
- ExtJS 4.1-检索嵌套JSON的hasOne信息
- 更新嵌套json Angularjs中的对象
- 访问嵌套 json 对象的属性将返回未定义
- 如何解析没有键的嵌套json's的javascript
- 显示嵌套json集合的主干
- 列表中呈现的骨干嵌套json对象
- 如何使用promise来反规范化嵌套json
- 正在读取嵌套json,jquery返回undefined
- Ionic/Angular:如何在嵌套json中导航
- 如何访问AngularJs中的嵌套Json对象
- 使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
- 如何获取给定表单详细信息的嵌套json对象
- 通过Javascript中的递归迭代映射嵌套JSON