jquery 更新嵌套对象的键
jquery Updating key of a nested object
我有一个json字符串,我已经用parseJSON变成了一个对象(其中#get_my_json_data是输入json的文本区域)
var data = jQuery.parseJSON( $("#get_my_json_data").val() );
很酷,我现在有一个对象可以看到整个结构。
我需要做的是更改一个节点的 KEY。但。。我不知道它是什么(所以不能只做字符串化和搜索/替换)。我确实知道它会是确切的位置...
下面是文本区域中的示例结构或 json。
{
"MasterData": {
"|-|-|ID|-|-|": {
"menu": {
"Tabs": [
{
"Name": "Home",
"TabText": "Home"
},
.........
我需要找到第二项的 KEY,在本例中,它是:"|-|-|ID|-|-|"
当他们再次编辑时,情况会有所不同。那么我到底如何在主数据之后更新节点密钥并编写整个内容?
我尝试了一个 $.each 循环,但它一直在杀死整个"数组"
----更新---
我最终做到了,效果很好!
var data = jQuery.parseJSON( $("#get_my_json_data").val() );
var keys = Object.keys( data.MasterData );
data.MasterData[$(this).val()] = data.ConteMasterDatatData[keys[0]];
delete data.MasterData[keys[0]];
$("#get_my_json_data").val(JSON.stringify(data));
因此
,如果我了解您想要什么,您希望替换解析对象中的属性名称。
试试这个:
//Get the keys
var innerkeys = Object.keys(myObject.MasterData);
//Create a property with the information from the first key
myObject["myNewKey"] = myObject.MasterData[innerkeys[0]];
//Delete old property
delete myObject.MasterData[innerkeys[0]];
如果将对象解析为 json,则它应该符合预期(未测试)
从以下位置获得的信息:
如何列出 JavaScript 对象的属性
how-do-i-remove-a-property-from-a-javascript-object
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 如何打印嵌套对象的所有值
- 设置嵌套对象属性的更好方法
- 访问嵌套JSON对象的键,其中键是动态的
- 嵌套对象结构
- 如何递归地获取嵌套对象中所有子对象的列表
- 更改嵌套对象的父子相关id
- Node.js:用作对象嵌套元素名称的变量
- Sailsjs创建对象-嵌套创建
- Jquery $.ajax 获取响应与将“this”对象嵌套传递到“success”回调函数冲突
- 从嵌套属性数组中获取对象嵌套值
- 将对象嵌套在另一个数组中
- javascript对象嵌套回调
- 当被引用对象嵌套在ExtJS 5.0.0中时,如何读取它
- 如何在不知道其位置的情况下删除Mongo对象(嵌套的2个数组)
- 排序嵌套在对象中的数组,该对象嵌套在另一个对象中
- Javascript对象嵌套
- 在Angular中创建多维/嵌套对象(嵌套forEach循环)
- 仅列出jquery中包含json对象嵌套的所有键
- 如何将一个javascript对象嵌套在另一个对象中