Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript json对象拆分为两个json对象_Javascript_Json - Fatal编程技术网

Javascript json对象拆分为两个json对象

Javascript json对象拆分为两个json对象,javascript,json,Javascript,Json,我有这个JSON对象 {1: "test projekt", 4: "Second Project", 5: "Third Project", 6: "Fourth Project", 7: "5th one", 8: "6th one dude", uhash: "7021a11332508b6e30d3b6d3e95180398228b0e4010fc3f05db81e80"} 我想把它分成: {1: "test projekt", 4: "Second Project",

我有这个JSON对象

{1: "test projekt", 4: "Second Project", 
 5: "Third Project", 6: "Fourth Project", 
 7: "5th one", 8: "6th one dude", 
 uhash: "7021a11332508b6e30d3b6d3e95180398228b0e4010fc3f05db81e80"}
我想把它分成:

{1: "test projekt", 4: "Second Project", 
 5: "Third Project", 6: "Fourth Project", 
 7: "5th one", 8: "6th one dude"}

我如何在js中完成它

像这样的

var secondObj = {uhash: firstObj.uhash};
delete firstObj.uhash;
对于更复杂的内容,可以使用下划线:。看看groupBy或map。取决于你到底需要什么。

像这样的东西

var secondObj = {uhash: firstObj.uhash};
delete firstObj.uhash;

对于更复杂的内容,可以使用下划线:。看看groupBy或map。具体取决于您需要什么。

用于。。。在中,循环将迭代对象键。请确保使用
hasOwnProperty
方法对其进行限制,否则,
用于。。。在
中,将查找对象的所有继承键。一旦可以迭代对象,您所需要做的就是检查键并填充另外两个对象

var numbers = {},
    uhash   = {},
    prop    = '';

for (prop in json) {
    if (json.hasOwnProperty(prop)) {

        if (!isNaN(prop)) {
            numbers[prop] = json[prop];
        } else {
            uhash[prop] = json[prop];
        }

    }
}

用于。。。在中,循环将迭代对象键。请确保使用
hasOwnProperty
方法对其进行限制,否则,
用于。。。在
中,将查找对象的所有继承键。一旦可以迭代对象,您所需要做的就是检查键并填充另外两个对象

var numbers = {},
    uhash   = {},
    prop    = '';

for (prop in json) {
    if (json.hasOwnProperty(prop)) {

        if (!isNaN(prop)) {
            numbers[prop] = json[prop];
        } else {
            uhash[prop] = json[prop];
        }

    }
}

操作JSON最简单的方法是将其解析为对象,操作对象,然后从对象创建JSON:

var o = JSON.parse(json);

var o2 = { uhash: o.uhash };
delete o.uhash;

var json1 = JSON.stringify(o);
var json2 = JSON.stringify(o2);

注意:旧浏览器(如IE 7)不支持JSON。操作JSON最简单的方法是将其解析为对象,操作对象,然后从对象创建JSON:

var o = JSON.parse(json);

var o2 = { uhash: o.uhash };
delete o.uhash;

var json1 = JSON.stringify(o);
var json2 = JSON.stringify(o2);
注意:较旧的浏览器不支持,例如IE 7。

这可能会有所帮助

function popAttributeFromData (attrs, data) {
  for (var key in data) {
    if(key === attrs) {
      var result = {
        attrs: data[attrs]
      };
      delete data[attrs];
      return result;
    }
  }
  return null;
}
它从数据中遍历
,直到键与传递的参数
attrs
匹配为止

结果如下

这可能会有所帮助

function popAttributeFromData (attrs, data) {
  for (var key in data) {
    if(key === attrs) {
      var result = {
        attrs: data[attrs]
      };
      delete data[attrs];
      return result;
    }
  }
  return null;
}
它从数据中遍历
,直到键与传递的参数
attrs
匹配为止

结果如下


感谢您展示了完整的方式,我没有使用stringify,现在我使用了。美好的谢谢你展示了完整的方式,我没有使用stringify,现在我使用了。美好的