Получение только URL из извлеченной строки / значения JSON - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть текст JSON (опубликован ниже), и я хочу извлечь name, channel_remote_number и channel_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 голосов
/ 13 февраля 2019

Обновите ваш код как

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'] }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...