2016-03-26 8 views
1

新しいjanssonユーザーはここにあります。私は現在json_packを使用していますが、小さな断片で分割する必要があります。長いjson_pack()を小さなものに分割できますか?

elm = json_pack("{ s:s, s:s, s:s }", "field1", "value1","field2", "value2","field3", "value3"); 

結果ビーイング:これは私が(現実より多くの分野で)今持っているものである

{ 
    "field1": "value1", 
    "field2": "value2", 
    "field3": "value3" 
} 

私は3回の呼び出しでこれを分割する必要があり、これを試してみましたが、それは動作しません。

elm = json_pack("{ s:s }", "field1", "value1"); 
elm = json_pack("{ o, s:s }", elm, "field2", "value2"); 
elm = json_pack("{ o, s:s }", elm, "field3", "value3"); 

elmは上記の最初の呼び出しと同じ結果になりますが、空のオブジェクトになります。私は可能なのですか?誰かが例を持っていますか?

+0

あなたはパック式でjsonオブジェクトを生成します。配列はどこですか? – ikrabbe

+0

申し訳ありませんが、私はオブジェクトを意味しました。編集された質問。 – raarts

+0

実際に私はjson_packを知らないのですが、 '' o "'の意味はそのままコピーし、 'elm = {{{" field1 ":" value1 "}、" field2 " "value2"}、 "field3": "value3"} 'は許可されていません。だから、おそらくエラーが発生します。 – ikrabbe

答えて

1

どうやらませんが、私は古い学校の方法に戻っ:

elm = json_object(); 
json_object_set_new(elm, "fleld1", json_string("value1")); 
json_object_set_new(elm, "fleld2", json_string("value2")); 
json_object_set_new(elm, "fleld3", json_string("value3")); 

これは私の問題を修正しました。

+0

これは間違いなくパフォーマンスが良く、読みやすく対称です。これは古い学校ではありませんが、json_packを使うよりも優れています。 – ikrabbe

関連する問題