用字符串和字符串数组动态填充json对象
Dynamically fill json object with strings and string arrays
我有以下问题。我是json和javascript的新手,我需要动态构建一个json对象,并用字符串为其提供信息。传入的字符串没有排序,因此应该可以创建一个字符串数组。我想出了这个设计,但我犯了一个错误。
addToDumpObject: function (type, v, dump) {
if (v instanceof A.entity.Entity) {
dump.type.push(v.toString());
} else if (v instanceof jQuery) {
dump.type.push(v);
} else if ($.isArray(v)) {
for (var i in v) {
A.util.addToDumpObject(type, v[i], dump);
}
return;
} else {
}
}
dump是我的json对象。v可以是实体、数组或jQuery对象的实例。type是实体类型,我想按如下方式对值进行排序。
dump{
"Permission" : [ "PHONE", "SMS" ]
"String" : [ "MN7", "AT", "DE" ]
};
我得到的错误是"Uncaught TypeError:无法读取未定义的属性'push'"。我认为这是因为我使用了错误的标识符,但如果我尝试转储,我不知道如何修复它。[type].push()我得到一个错误的[]。
在重新阅读你的情况后,我认为你想要的是以下内容:
addToDumpObject: function (type, v, dump) {
if (!dump[type]) dump[type] = new Array();
if (!$.isArray(dump[type])) return;
else if ($.isArray(v)) for (var i in v) A.util.addToDumpObject(type, v[i], dump);
else {
if (v instanceof A.entity.Entity) dump[type].push(v.toString());
else if (v instanceof jQuery) dump[type].push(v);
else {
if (!dump['trash']) dump.trash = new Array(); // simply for collecting other parts / debugging
dump.trash.push(v);
}
}
return;
}
相关文章:
- 如何使用JSON字符串中的jQuery填充下拉框
- Json字符串可以'当字符串末尾有“'时,t解码;
- 使用JSON文件中的变量(字符串)填充文本区域
- 将JSON转换为typescript中的字符串数组
- jquery从2个json字符串构建一个复选框表单
- RegEx只匹配JSON字符串中最里面的数组
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 通过字符串获取JSON对象
- 获取JSON并使用Javascript解析为字符串
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- javascript数组到字符串JSON
- 角度拆分字符串 json
- 跨域 AJAX 调用返回字符串 JSON,而不是 JSON 对象
- 如何在js或jQuery中获取长度字符串json
- 字符串JSON引用名称,而不是被引用的对象
- 子字符串JSON键
- 将字符串JSON转换为多维JavaScript数组
- 字符串json具有空值
- 将html字符串(json表示)转换为实际的javascript对象
- PHP 存储字符串 JSON 与 JavaScript 不同