1

Floatの2つのJavaリスト(Arraylists)、xとyの調整されたListAとListBがあり、次のようになります。

ListA = 10.1, 17.3, 30.0
ListB = 1.4, -14.7, 5.1

そして、2つの配列リストが次のように単一のjsonオブジェクトに統合されるようにjsonオブジェクトを作成したいと思います。

[ { label: "A", data: [ [10.1, 1.4], [17.3, -14.7], [30.0, 5.1] ] }]

flotを使用してプロットできます 。

私はGsonlibを見てきましたが、これを行うための簡潔な方法がわかりません。各キーにループを設定して手動で「[{...」などを追加するよりも簡単な方法はありますか?

ありがとう!

4

1 に答える 1

2

私はあなたが必要なものを理解したと思います。表示した形式でJSONを作成するためのオブジェクト構造を作成しようとしています。私は正しいですか?だから、次のようなものを試してください:

// define a class to represent each graph
public class GraphData {

    private String label;
    private List<Float[]> data;

    // gets and sets to label and data

}

floatの配列のリストは、次のように入力する必要があります(listAおよびlistBを使用)。

List<Float[]> yourFirstListOfData = new ArrayList<Float[]>();
for ( int i = 0; i < listA.size(); i++ ) {
    yourFirstListOfData.add( new Float[]{ listA.get(i), listB.get(i) } );
}

(別のクラスで)JSONを生成するには:

List<GraphData> graphList = new ArrayList<GraphData>();

GraphData graphData1 = new GraphData();
graphData1.setLabe1( "A" );
graphData1.setData( yourFirstListOfData );

GraphData graphData2 = new GraphData();
graphData2.setLabel( "B" );
graphData2.setData( yourSecondListOfData );

graphList.add(graphData1);
graphList.add(graphData2);

Gson gson = new Gson();
String json = gson.toJson( graphList );

// prints the generated json
System.out.println( json );
于 2012-07-18T16:01:58.477 に答える