我有两个浮动的List列表(Arraylists),ListA和ListB的x和y协调,看起来像:
ListA = 10.1, 17.3, 30.0
ListB = 1.4, -14.7, 5.1
我想创建一个json对象,以便将两个arraylists合并为一个json对象:
[ { label: "A", data: [ [10.1, 1.4], [17.3, -14.7], [30.0, 5.1] ] }]
我可以使用flot进行绘图。
我一直在看Gson lib,但我看不到一个简洁的方法来做到这一点 - 是否有一种比为每个键设置循环并手动附加“[{...”更简单的方法等?
谢谢!
答案 0 :(得分: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
}
需要将浮点数组列表填充为(使用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 );