1

私は CFML 言語の初心者で、ColdFusion の構造体と配列に関して質問があります。openBD CFML サーバーを使用していることに注意してください。

私は次のオブジェクト(構造体)を持っています:

{
   "docs":{
      "23_id":{
         "content":[
            "I am"
         ]
      },
      "1_id":{
         "content":[
            "the most"
         ]
      },
      "7_id":{
         "content":[
            "crap coder"
         ]
      },
      "39_id":{
         "content":[
            "in the whole universe!"
         ]
      }
   }
}

質問:上記のオブジェクトを次のように変更できますか(可能であれば順序も保持できますか):

{
    "docs": [
        {
            "id": "23_id",
            "lola": "I am"
        },
        {
            "id": "1_id",
            "lola": "the most"
        },
        {
            "id": "7_id",
            "lola": "crap coder"
        },
        {
            "id": "39_id",
            "lola": "in the whole universe!"
        }
    ]
}

カスタム キーを割り当てる必要があることに注意してください ( idを割り当て、代わりに"lola"を"content"に割り当てます)。上記のタスクを達成するために勉強するための指針はありますか? どんな助けでも大歓迎です!

4

3 に答える 3

0

上記のコードでやりたいと言っていることは間違いなく実行できます。doc という配列が作成され、その各インデックスには ID キーと LOLA キーを持つ構造体が含まれます。それが必要な場合は、上記のコードが機能します。

あなたのデータ構造は、おそらくクエリオブジェクトなど、他の何かから恩恵を受けるように見えると思います。ただし、xml または json も適切な選択になる可能性があります。少し拷問されているように見えます:)

于 2012-08-04T17:05:58.360 に答える
0

構造体を取得して配列に変換したいということですか?もしそうなら、はい、あなたはそれを行うことができます。ただし、構造には固有の順序がないため、順序を保持することはできません。あなたの結果は同じ順序で出てくるかもしれませんが、そうすべき特別な理由はありません。

基本的に、新しい空の配列 [] を作成します。次に、ドキュメント内のキーをループします (cfloop collection="..." を使用)。キーごとに構造体を配列に追加して、結果が構造体の配列になるようにします。次に、それを元の変数内に挿入します。変数名なしでは特定できません。

于 2012-08-04T09:53:59.977 に答える