2016-06-29 2 views
1

JSONリクエストを送信した後、このJSONデータを応答として受け取っています。私はこのデータを永続的な記憶装置のメモリまたはファイルに保存し、後でそれを読み込み、ドロップダウンリストとして画面に表示したいと考えています。誰かがCodename Oneでどのようにそれを知っていれば私は感謝します。あなたが話しているComboBoxコンポーネントは次のとおりです。コードネーム1 - JSONデータの配列を永続メモリに格納して読み込む方法

{ 
    result_code=0.0, 
    data= [ 
     { 
     id=1, 
     title=Afghanistan 
     }, 
     { 
     id=2, 
     title=Albania 
     }, 
     { 
     id=3, 
     title=Algeria 
     }, 
     { 
     id=4, 
     title=Andorra 
     }, 
     { 
     id=5, 
     title=Angola 
     }, 
     { 
     id=6, 
     title=Antigua And Barbuda 
     },  

    ], 
    message=OK 
    } 

答えて

1

は、私はちょうど

String x = "{result_code=0.0,data= [{id=1, title=Afghanistan },  {   id=2,   title=Albania  },  {   id=3,   title=Algeria  },  {   id=4,   title=Andorra  },  {   id=5,   title=Angola  },  {   id=6,   title=Antigua And Barbuda  },  ], message=OK  }"; 
Storage.getInstance().writeObject("abcd.txt", x); 
Object rawString = Storage.getInstance().readObject("abcd.txt"); 
JSONObject jsonObject = new JSONObject(rawString.toString()); 
JSONArray data = (JSONArray) jsonObject.get("data"); 
Double resultCode = Double.valueOf(jsonObject.getDouble("result_code")); 
String message = jsonObject.get("message").toString(); 

// TODO: JSON parsing 
JSONObject firstObjectFromArray = data.getJSONObject(0); 
// TODO: do somestuff in a loop and put into combobox? 
firstObjectFromArray.get("id"); 
firstObjectFromArray.get("title"); 

EDIT小テスト(y)をやりましたか?

+0

こんにちは加耶、ありがとうございますが、codename oneにはJSONObjectライブラリがないかサポートしているようです。 –

+0

あなたは正しいかもしれませんが、最新のCN1 Pluginがインストールされていれば、CN1にライブラリを手に入れることができます。例えば、Eclipseがあります。プラグインを更新し、プロジェクトを右クリックします。 - > CodenameOne - > CodenameOne Settingsをクリックします。 別のウィンドウが表示され、拡張機能を選択 - > "Codename One JSON Library"をインストールしてから、プロジェクトをもう一度右クリック - > CodenameOne-> Refresh cn1libs Libsをクリックします。 – kaya

+0

これはすばらしいですね、私はCN1を初めて使っています。これは私にとって大きな助けになります。このデータをループして、画面上のthedatを一度に並べて表示したいのですが、どのように私はこれを行うことができますアイデア? –

関連する問題