Node.jsのAPIから取得したJSONデータを変更する

PilotGuy

そのため、https: //www.aviationweather.gov/dataserverからデータをプルしてmongoDBに保存する作業を行っていますAPIはXMLを返し、ノードにxml2jsモジュールを使用すると、かなり簡単にJSONに変換して、mongodbに保存できます。ただし、xml2jsモジュールは、変換が100%完全ではないため、事後に出力の一部を変更したいのですが、どこから始めればよいのかわかりません。私は誰かが私に正しい方向にナッジを与えることができることを望んでいました。

これは、xml2js変換からの現在のJSON出力です。関連する部分だけをトリミングしました...すべてが必要な場合はお知らせください。

結果が1つあると、次のようになります。

"sky_condition": {
        "$": {
            "sky_cover": "OVC",
            "cloud_base_ft_agl": "1600"
        }

複数の結果がある場合、次のようになります(最大4つの結果になる可能性があります)。

"sky_condition": [{
        "$": {
            "sky_cover": "BKN",
            "cloud_base_ft_agl": "1800"
        }
    }, {
        "$": {
            "sky_cover": "OVC",
            "cloud_base_ft_agl": "4100"
        }
    }]

このように見えるようにする方法があることを願っています(そして最大4つの可能な「クラウドレイヤー」:

    "sky_condition": [
    {
        "sky_cover": "OVC",
        "cloud_base_ft_agl": "1600"
    }
],

私はこれが明確であることを願っています、そして私は私の方法で投げられたどんな助けにも本当に感謝します。

マッドワード

オブジェクトのキーを繰り返し処理し、キーが表示されたら空の条件を配列にプッシュでき$ます。

APIがこれを返すとしましょう:

let objRet = {
    someKey: "someObject",
    someOtherKey: "someOtherObject",
    "sky_condition": [{
        "$": {
            "sky_cover": "BKN",
            "cloud_base_ft_agl": "1800"
        }
    }, {
        "$": {
            "sky_cover": "OVC",
            "cloud_base_ft_agl": "4100"
        }
    }]
}

次に、関数を設計します。

function processObj(obj){
  for(let key in obj){
        if(typeof obj[key] == "object"){
            //If content of obj[key] is an object, process it
            processObj(obj[key]);
        }
    if(key == "$"){
        //If key is '$', push the contents of the key to our array of conditions
        skyConditions.push(obj[key]);
    }
  }
}

私たちがこのように呼ぶこと:

let skyConditions = [];

processObj(objRet);
objRet["sky_condition"] = skyConditions;

console.log(objRet);

戻ります:

{
    someKey: "someObject",
    someOtherKey: "someOtherObject",
    "sky_condition":[
        {
            "sky_cover": "BKN",
            "cloud_base_ft_agl": "1800"
        },{
            "sky_cover": "OVC",
            "cloud_base_ft_agl": "4100"
        }
    ]
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データベースから取得したデータをnode.jsの応答として出力します

分類Dev

Node.js-jsonファイルからデータを取得し、そのデータを使用してxmlにカスタム属性を設定する方法

分類Dev

ReactJS-Node js APIから認証されたユーザーデータを取得する方法は?

分類Dev

JSON形式のNode.JSを使用してMySQLからデータを取得します

分類Dev

AngularJsを使用してnode.jsサーバーから取得したテーブル形式でjsonデータを表示する方法

分類Dev

POSTリクエストJSONを取得してからNode.jsでJSON形式を変更する方法は?

分類Dev

Node.jsを使用してPrometheusDBからデータを取得する方法

分類Dev

node.jsを使用してredisから階層データを取得する

分類Dev

Node.jsの非同期でAPIデータを取得し、データを取得することで同期する

分類Dev

Express(Node.js)のフォームからデータを取得する方法

分類Dev

node.jsからAjaxにデータを取得する方法は?

分類Dev

node.jsでmysqlからデータを取得する方法

分類Dev

node.jsのrequest.end()からデータを取得します

分類Dev

node.jsのレンダリングからデータを取得する方法

分類Dev

Node.jsを使用してNode.jsからHTMLにJSONデータを送受信する方法

分類Dev

変更ストリーム(Node.js)を使用して、ドキュメント内のネストされた配列要素のデルタを取得します

分類Dev

node.jsミドルウェア内のredisデータベースからデータを取得する方法

分類Dev

URLからJSONを取得し、変数(Node.js)に保存する方法

分類Dev

Node.jsを使用してGoogleCloudStorageでファイルのメタデータを変更する方法

分類Dev

Node.jsを使用してAJAXリクエストを介してRedisからデータを取得する

分類Dev

node.jsでjsonデータキー値を取得します

分類Dev

node.jsを使用してMySQLデータベースから画像を取得する

分類Dev

node.jsは配列またはオブジェクトからデータを取得します

分類Dev

node.jsを使用してjsonファイルからキーを取得する

分類Dev

Node.js http getリクエストからデータを取得する方法

分類Dev

FireBaseからnode.jsファイルにデータを取得する

分類Dev

Node.js-ロードされた別のファイルから変数を取得します

分類Dev

Node js、MongoDBからすべてのデータを取得するまで待ちます

分類Dev

jquery ajax を使用して node.js ファイルからデータを取得する方法

Related 関連記事

  1. 1

    データベースから取得したデータをnode.jsの応答として出力します

  2. 2

    Node.js-jsonファイルからデータを取得し、そのデータを使用してxmlにカスタム属性を設定する方法

  3. 3

    ReactJS-Node js APIから認証されたユーザーデータを取得する方法は?

  4. 4

    JSON形式のNode.JSを使用してMySQLからデータを取得します

  5. 5

    AngularJsを使用してnode.jsサーバーから取得したテーブル形式でjsonデータを表示する方法

  6. 6

    POSTリクエストJSONを取得してからNode.jsでJSON形式を変更する方法は?

  7. 7

    Node.jsを使用してPrometheusDBからデータを取得する方法

  8. 8

    node.jsを使用してredisから階層データを取得する

  9. 9

    Node.jsの非同期でAPIデータを取得し、データを取得することで同期する

  10. 10

    Express(Node.js)のフォームからデータを取得する方法

  11. 11

    node.jsからAjaxにデータを取得する方法は?

  12. 12

    node.jsでmysqlからデータを取得する方法

  13. 13

    node.jsのrequest.end()からデータを取得します

  14. 14

    node.jsのレンダリングからデータを取得する方法

  15. 15

    Node.jsを使用してNode.jsからHTMLにJSONデータを送受信する方法

  16. 16

    変更ストリーム(Node.js)を使用して、ドキュメント内のネストされた配列要素のデルタを取得します

  17. 17

    node.jsミドルウェア内のredisデータベースからデータを取得する方法

  18. 18

    URLからJSONを取得し、変数(Node.js)に保存する方法

  19. 19

    Node.jsを使用してGoogleCloudStorageでファイルのメタデータを変更する方法

  20. 20

    Node.jsを使用してAJAXリクエストを介してRedisからデータを取得する

  21. 21

    node.jsでjsonデータキー値を取得します

  22. 22

    node.jsを使用してMySQLデータベースから画像を取得する

  23. 23

    node.jsは配列またはオブジェクトからデータを取得します

  24. 24

    node.jsを使用してjsonファイルからキーを取得する

  25. 25

    Node.js http getリクエストからデータを取得する方法

  26. 26

    FireBaseからnode.jsファイルにデータを取得する

  27. 27

    Node.js-ロードされた別のファイルから変数を取得します

  28. 28

    Node js、MongoDBからすべてのデータを取得するまで待ちます

  29. 29

    jquery ajax を使用して node.js ファイルからデータを取得する方法

ホットタグ

アーカイブ