代码之家  ›  专栏  ›  技术社区  ›  Ali Ha Quang

在Javascript中从JSON获取多个无组织值

  •  0
  • Ali Ha Quang  · 技术社区  · 6 年前

    我有以下javascript

    {
     "Exists":true,
     "Id":"c558eedac67244908fc127d028663b96",
     "Type":6,"Fav":false,
     "Shield":false,
     "Tags":" 
        [{\"TagId\":\"T1\",\"TagName\":\"test2\",\"TagType\":1}, 
        {\"TagId\":\"T2\",\"TagName\":\"test1\",\"TagType\":1}]"
    }
    

    我要做的是 javascript 为了得到 TagName Tags 部分

    当我使用 JSON.parse(Obj.Tags); 我把一切都搞砸了 标签 我只想要的部分 标记名

    有可能吗?

    4 回复  |  直到 6 年前
        1
  •  3
  •   Adrian    6 年前

    有可能。你可以使用 .map 功能。

    var tagNames = obj.Tags.map(function(x){
        return x.TagName;
    });
    

    var obj = {
     "Exists":true,
     "Id":"c558eedac67244908fc127d028663b96",
     "Type":6,"Fav":false,
     "Shield":false,
     "Tags": 
        [{"TagId":"T1","TagName":"test2","TagType":1}, 
        {"TagId":"T2","TagName":"test1","TagType":1}]
    };
    
    var tagNames = obj.Tags.map(function(x){
    	return x.TagName;
    })
    
    console.log(tagNames)
        2
  •  1
  •   Terry Wei    6 年前

    我想我大概明白你的问题了。

    你只想把你的标签 标记名数组 ?

    下面是示例代码:

    var Obj = {
     "Exists":true,
     "Id":"c558eedac67244908fc127d028663b96",
     "Type":6,"Fav":false,
     "Shield":false,
     "Tags":"[{\"TagId\":\"T1\",\"TagName\":\"test2\",\"TagType\":1},  {\"TagId\":\"T2\",\"TagName\":\"test1\",\"TagType\":1}]"
    }
    
    // Get Tags data to array object
    
    var Tags = JSON.parse(Obj.Tags);
    
    // Get simple array of TagNames
    
    var TagNames = Tags.map(x=>x.TagName);
    console.log(TagNames);
    
    // Get array of objects with only TagName key value pair
    
    var TagNamesFormat2 = Tags.map(function(x){
      return {"TagName" : x.TagName}
    });
    
    console.log(TagNamesFormat2);
        3
  •  0
  •   Kamalakannan J    6 年前

    你可以用 map() 标签

    // Parsed object
    var data = {
     "Exists": true,
     "Id":"c558eedac67244908fc127d028663b96",
     "Type":6,
     "Fav":false,
     "Shield":false,
     "Tags": [
        {"TagId":"T1","TagName":"test2","TagType":1}, 
        {"TagId":"T2","TagName":"test1","TagType":1}
     ]
    }
    
    console.log(data.Tags.map(tag => tag.TagName));
        4
  •  0
  •   عبدالرحمان    6 年前

    尝试 tags.map(a => a.TagName);

    var myObj = {
                 "Exists":true,
                 "Id":"c558eedac67244908fc127d028663b96",
                 "Type":6,"Fav":false,
                 "Shield":false,
                 "Tags":"[{\"TagId\":\"T1\",\"TagName\":\"test2\",\"TagType\":1},     {\"TagId\":\"T2\",\"TagName\":\"test1\",\"TagType\":1}]"
                };
                
    var tags = JSON.parse(myObj.Tags);
    var tagNames = tags.map(a => a.TagName);
    console.log(tagNames);