从提取的JSON字符串/值中仅获取URL

时间:2019-02-13 06:08:32

标签: angularjs json

我有一个JSON文本(如下所述),我想从其项目数组内的每个对象中提取namechannel_remote_numberchannel_logo。我正在使用下面发布的代码,这些代码工作正常,但是像这样提取channel_logo值:channel_logo: #cdata: "http://example_url/"但是,我只想包含url而不包含#cdata channel_logo值,例如:channel_logo: "http://example_url/"。那么有人可以指导我该怎么做吗?

JSON文本:

{  
   "xml":{  
      "version":"3.0.0",
      "item_startidx":"0",
      "total_items":"471",
      "items_link":"https://example_url/",
      "items":{  
         "item":[  
            {  
               "id":"36438",
               "name":"A plus",
               "type":"liveWMV",
               "link":"https://example_url/",
               "duration":"35000",
               "channel_logo":{  
                  "#cdata":"http://example_url/"
               },
               "channel_remote_number":"180",
               "description":"A plus",
               "response_link":"https://example_url/",
               "restrict_link":"https://example_url/",
               "play_time":"https://example_url/",
               "protected":"no",
               "program_listing":"https://example_url/",
               "program_guide":"https://example_url/",
               "electronic_program_guide":"https://example_url/",
               "catchup_tv":"7",
               "popup":{  
                  "type":"blocking",
                  "message":"Temporary Down",
                  "buttons":{  
                     "button":{  
                        "type":"cancel",
                        "text":"OK"
                     }
                  }
               },
               "category_id":"12797",
               "path":"Smart TV App>Live TV>Pakistani>Entertainment"
            },
            {  
               "id":"37669",
               "name":"A plus",
               "type":"liveWMV",
               "link":"https://example_url/",
               "duration":"35000",
               "channel_logo":{  
                  "#cdata":"http://example_url/"
               },
               "channel_remote_number":"180",
               "description":"A plus",
               "response_link":"https://example_url/",
               "restrict_link":"https://example_url/",
               "play_time":"https://example_url/",
               "protected":"no",
               "program_listing":"https://example_url/",
               "program_guide":"https://example_url/",
               "electronic_program_guide":"https://example_url/",
               "catchup_tv":"7",
               "popup":{  
                  "type":"blocking",
                  "message":"Temporary Down",
                  "buttons":{  
                     "button":{  
                        "type":"cancel",
                        "text":"OK"
                     }
                  }
               },
               "category_id":"12797",
               "path":"Smart TV App>Live TV>Pakistani>Entertainment"
            }
          ]
        }
    }
}

我的代码:

var data = json_text;

var answer = data.xml.items.item
      .map(x => ({ name: x.name, channel_remote_number: x.channel_remote_number, x.channel_logo }));

1 个答案:

答案 0 :(得分:0)

将代码更新为

var data = json_text;

var answer = data.xml.items.item
      .map(x => ({ name: x.name, channel_remote_number: x.channel_remote_number, channel_logo: x.channel_logo['#cdata'] }));