2017-08-21 10 views
2

私はこのようなJSON文字列を作成したい:AndroidでJSONを作成するには?

[{"addon_id":2,"addon_rate":1550},{"addon_id":3, "addon_rate":300}] 

これは可能ですか?どうやって?

私のコード、そのまま:

String formattedString = BookingDetailsCartAdapter.addones_id.toString().replace("[", "").replace("]", "").trim(); 
String formattedString1 = BookingDetailsCartAdapter.addones_rate.toString().replace("[", "").replace("]", "").trim(); 

myjson="[{\"addon_id\":\""+formattedString+"\",\"addon_rate\":\""+formattedString1+"\"}]"; 
+0

コードを正しく編集して理解してください。あなたが求めていることを明確に述べる。 –

+0

https://developer.android.com/reference/org/json/package-summary.htmlをご覧ください。 – jerry

答えて

2

あなたは//

compile 'com.google.code.gson:gson:2.8.1' 


public class Addon{ 
    public int addon_id; 
    public int addon_rate; 
} 

Addon addon = new Addon(); 
addon.addon_id=2; 
addon.addon_id=1550; 
Gson gson = new Gson(); 
String json = gson.toJson(addon); // 

ファイル---配列

List<Addon > objList = new ArrayList<Addon >(); 
objList.add(new Addon (0, 1550)); 
objList.add(new Addon (1, 1552)); 
objList.add(new Addon (2, 1553)); 


String json = new Gson().toJson(objList); 
System.out.println(json); 

についてのGradleに追加GSON

を使用することができますhttp://www.javacreed.com/simple-gson-example/

+0

悪い解決策。彼はモデルをjsonにマップすることを求めませんでしたが、彼は上記のようなjsonを作成する方法を尋ねました。サードパーティ製のライブラリを使用して、モデルを作成する... jsonを生成するのは彼が求めたものではありません –

+1

@EmanuelSeibold私は同意しません。この解決策は問題ありません。これは、OPには気づいていないJsonを生成する非常にやさしい方法です。 – Doomsknight

+1

と初心者のために多くの質問につながります。 "Gsonとは何ですか?" "どのようにGSONをインストールすることができますか?グラデーションインポートラインは固定バージョンです"、 ".."。サードパーティのライブラリを使わなくても、私はgsonが好きな人でも、初心者を誤解させるという事実があります。 –

2

あなたのJSONは、キーaddon_idとaddon_rateを持つ2つのオブジェクトを含む配列であることを意味します。どちらも値として数値/整数を受け入れます。まず、いくつかのJSONObjectを保持するJSONArrayを作成する必要があります。次に、キーと値を設定するJSONObjectを作成する必要があります。その後、それらのオブジェクトを配列に追加する必要があります。 jsonArrayには、/ toString()を印刷するとすぐに上記の文字列が含まれています。

JSONArray jsonArray = new JSONArray(); 

JSONObject jsonObjOne = new JSONObject(); 
jsonObjOne.put("addon_id", 2); 
jsonObjOne.put("addon_rate", 1550); 

JSONObject jsonObjTwo = new JSONObject(); 
jsonObjTwo.put("addon_id", 3); 
jsonObjTwo.put("addon_rate", 300); 

jsonArray.put(jsonObjOne); 
jsonArray.put(jsonObjTwo); 
関連する問題