因此,我正在使用MPandroid图表依赖项在Android应用程序上绘制图形。为此,我将数据添加到图的Entry类的ArrayList中。 我现在暂时手动添加数据,但是我想从json文件中解析数据并将其添加到图形中。谁能告诉我如何读取Json数组的各个数据元素以添加到图形中。
这是我用来读取json文件的代码。我的文件位于资产文件夹中。
try {
InputStream is=getAssets().open("gaitdata.json");
int size=is.available();
byte[] buffer=new byte[size];
is.read(buffer);
is.close();
json=new String(buffer,"UTF-8");
JSONArray jsonArray=new JSONArray(json);
for(int i=0;i<jsonArray.length();i++){
JSONObject obj=jsonArray.getJSONObject(i);
if(obj.getString("name").equals("kinematics")){
hipvalue.add(obj.getString("hip_min"));
}
}
这也是我要读取的json文件。
{
"name":"kinematics",
"hip_min":[1.2,5.67,2.34,6.8]
}
我也想要float值,但是由于它不起作用,所以我使用obj.getString()来获取json的“ hip_min”值。
最后,这就是我手动将数据添加到数组列表的方式。
ArrayList<Entry> entries=new ArrayList<>();
entries.add(new Entry(0,19.85f));
答案 0 :(得分:0)
要将Json Arry转换为浮动数组,可以尝试以下代码。
String value = "{'name':'kinematics','hip_min':[1.2,5.67,2.34,6.8]}";
JSONObject obj = new JSONObject(value);
List hip_min = new ArrayList<Float>();
JSONArray jsonArray;
jsonArray = obj.getJSONArray("hip_min");
for (Object item : jsonArray
) {
hip_min.add(item);
}
System.out.println("Size : " + hip_min.size());
对于图表
int i=0;
for (Object item:hip_min
) {
entries.add(new Entry(i,item))
i=i+2;
}
i的值用于水平移位。 我希望这会有所帮助。