我将数据从json文件传输到arrayList以便过滤这些值。问题是我想访问json对象的especific数据。在这种情况下,我想创建一个带有“值”数字的arrayList。
JSON文件:
{
"I": [
{
"value": 2984,
"time": 1563550463
},
{
"value": 2984,
"time": 1563550465
},
{
"value": 2984,
"time": 1563550467
},
{
"value": 2984,
"time": 1563550469
},
...
主类:
public class Main {
public static void main(String[] args) {
JSONObject obj = JSONUtils.getJSONObjectFromFile("/15s_60bpm_ecg_data.json");
String[] names = JSONObject.getNames(obj);
for(String string : names) {
//System.out.println(string);
//System.out.println(string + ":" + obj.get(string));
}
JSONArray jsonArray = obj.getJSONArray("II");
CargarArray(jsonArray);
for(int i = 0; i < jsonArray.length(); i++) {
//System.out.println(jsonArray.get(i));
}
}
public static void CargarArray(JSONArray jsonArray){
ArrayList<Integer> Lista = new ArrayList<>();
for(int i = 0; i < jsonArray.length(); i++){
try {
JSONObject json = jsonArray.getJSONObject(i);
Lista.add(json.getInt("value"));
for (int j = 0; j < Lista.size(); j++) {
Lista.get(j);
System.out.println(j);
}
}
catch (JSONException e) {
e.printStackTrace();
}
}
}
}
我期望得到的是带有所有“值”的arrayList
答案 0 :(得分:0)
我已解决了该问题,您将看到该列表以整数形式显示了values参数的所有数据。
public class Main {
public static void main(String[] args) {
JSONObject obj = JSONUtils.getJSONObjectFromFile("/15s_60bpm_ecg_data.json");
String[] names = JSONObject.getNames(obj);
for(String string : names) {
//System.out.println(string);
//System.out.println(string + ":" + obj.get(string));
}
JSONArray jsonArray = obj.getJSONArray("I");
CargarArray(jsonArray);
for(int i = 0; i < jsonArray.length(); i++) {
//System.out.println(jsonArray.get(i));
}
}
public static void CargarArray(JSONArray jsonArray){
ArrayList<Integer> Lista = new ArrayList<>();
for(int i = 0; i < jsonArray.length(); i++){
try {
JSONObject json = jsonArray.getJSONObject(i);
Lista.add(json.getInt("value"));
}
catch (JSONException e) {
e.printStackTrace();
}
}
for (int j = 0; j < Lista.size(); j++) {
System.out.println(Lista.get(j));
}
}
}