Разбор JSON после преобразования с использованием XML2JSON - PullRequest
0 голосов
/ 02 мая 2019

Вызов API и получение ответа в xml. Я пытаюсь преобразовать вывод XML в JSON, используя xml2json. Как теперь я могу непосредственно прочитать значение параметра температуры из вывода JSON.

Я использую в своем коде следующее,

var xml = response.body;
var result = convert.xml2json(xml, {compact: true, spaces: 4});
const jsonData = JSON.parse(result);
res.send(jsonData);

У jsonData есть все данные, но я просто хочу прочитать, например, значение температуры

Вот вывод json после преобразования,

 {
        "_declaration": {
        "_attributes": {
        "version": "1.0",
        "encoding": "UTF-8"
        }
    },
    "wfs:FeatureCollection": {
        "_attributes": {
            "timeStamp": "2019-05-02T17:21:05Z",
            "numberReturned": "864",
            "numberMatched": "864",
            "xmlns:wfs": "http://www.opengis.net/wfs/2.0",
            "xmlns:gml": "http://www.opengis.net/gml/3.2",
            "xmlns:BsWfs": "http://xml.fmi.fi/schema/wfs/2.0",
            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
            "xsi:schemaLocation": "http://www.opengis.net/wfs/2.0 
    http://schemas.opengis.net/wfs/2.0/wfs.xsd\n                        
    http://xml.fmi.fi/schema/wfs/2.0 
    http://xml.fmi.fi/schema/wfs/2.0/fmi_wfs_simplefeature.xsd"
        },
        "wfs:member": [
            {
                "BsWfs:BsWfsElement": {
                    "_attributes": {
                        "gml:id": "BsWfsElement.1.1.1"
                    },
                    "BsWfs:Location": {
                        "gml:Point": {
                            "_attributes": {
                                "gml:id": "BsWfsElementP.1.1.1",
                                "srsDimension": "2",
                                "srsName": "http://www.opengis.net/def/crs/EPSG/0/4258"
                            },
                            "gml:pos": {
                                "_text": "60.20520 24.65220 "
                            }
                        }
                    },
                    "BsWfs:Time": {
                        "_text": "2019-05-02T18:00:00Z"
                    },
                    "BsWfs:ParameterName": {
                        "_text": "GeopHeight"
                    },
                    "BsWfs:ParameterValue": {
                        "_text": "36.57"
                    }
                }
            },
            {
                "BsWfs:BsWfsElement": {
                    "_attributes": {
                        "gml:id": "BsWfsElement.1.1.2"
                    },
                    "BsWfs:Location": {
                        "gml:Point": {
                            "_attributes": {
                                "gml:id": "BsWfsElementP.1.1.2",
                                "srsDimension": "2",
                                "srsName": 
    "http://www.opengis.net/def/crs/EPSG/0/4258"
                            },
                            "gml:pos": {
                                "_text": "60.20520 24.65220 "
                            }
                        }
                    },
                    "BsWfs:Time": {
                        "_text": "2019-05-02T18:00:00Z"
                    },
                    "BsWfs:ParameterName": {
                        "_text": "Temperature"
                    },
                    "BsWfs:ParameterValue": {
                        "_text": "2.97"
                    }
                }
            }
      ]
         }
    }

1 Ответ

0 голосов
/ 02 мая 2019
jsonData['wfs:FeatureCollection']['wfs:member'][0]['BsWfs:BsWfsElement']['BsWfs:ParameterName']['_text']

ех)

jsonData = { "key0": 34 }
jsonArray = [ 35,36,37 ]

=>

console.log(jsonData['key0"]); // 34
console.log(jsonArray[0]); // 35
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...