-3

json でフォーマットされたストリームがあります。別のアプリケーションの入力と一致させるために、それを別のフォーマットに変換したいと考えています。例えば:

{
  "id": "133880733349264", 
  "feed": {
    "data": [
      {
        "message": "message", 
        "created_time": "2013-03-16T12:12:10+0000", 
        "id": "133880733349264_477856435618357",
        "comments": {
          "data": [
            {
              "message": "message", 
              "id": "133880733349", 

            }
      ]
  }
}

次のようにする必要があります: {

  "feed": {

        "identifier": "133880733349264"   
        "message": "message", 
        "created_time": "2013-03-16T12:12:10+0000", 
        "id": "133880733349264_477856435618357",
       },
  "comments": {
             "message": "message", 
             "id": "133880733349", 
             "message_id":"133880733349264"
          }
}

それを使用する方法に関するアイデアやパターンはありますか?

4

1 に答える 1

1

それはほとんどロケット科学ではありません。

  1. 入力ファイルを開きます。
  2. JSON ライブラリを使用してファイルから JSON を読み取り/解析します。
  3. インメモリ データ構造を新しい構造に変換します。
  4. 出力ファイルを開く
  5. JSON ライブラリを使用して、インメモリ データ構造をファイルにアンパースします。

変換の詳細は、アプリケーションと、使用する JSON ライブラリ (またはバインディング) の性質によって異なります。利用可能なものを確認したい場合は、http://www.json.orgにアクセスしてください。


もう 1 つの方法は、JSLT エンジンを使用することです。これは多かれ少なかれ「JSON の XSLT」です。

私はこれについていくつかの Google ヒットを見つけました ... 私が本当に JSTL ではなく JSLT を意味していることを Google に納得させた後。しかし興味深いことに、JSLT に言及しているすべての SO の質問は、実際には JSTL のスペルミスのようです。(それは、このアプローチについて私にいくつかの警告ベルを鳴らします...)

于 2013-03-18T13:24:12.490 に答える