java - 如何从 float[]、JSONArray 解析中获取数据?

标签 java arrays

我收到 JSONArray 形式的响应,如下所示:

"["37:0.00",
"60:23.50:55.00:22.22:52.00:192.55:20.00"
"61:0.00"]";

在这 3 行中,前几个数字 (37、60、61) 是 ID(类型 int)。 这些特定行的其他数字是值(类型float)。 如何将特定 ID 的这些值获取到 float[]

这是我的代码:

public void setValuesFromResponse(String response) {
    deviceList = database.getDevices();
    List<float[]> parsedData = parse(response);
    Log.i("setValFromResp: ", "parsedData --> DONE");

    for (int i = 0; i < parsedData.size(); i++) {
        int parsedDeviceId = (int) parsedData.get(i)[0]; //get ID
        float[] values =    parsedData.get(i)[1];
      //how to check if there is another value in another index (for this exmaple index 2
    }
}

这是解析方法:

public List<float[]> parse(String json) 
{ 
    List<float[]> list = new ArrayList<>(); 
    try { 
        JSONArray array = new JSONArray(json); 
        for (int i = 0; i < array.length(); i++) { 
            String dataByDevice = array.getString(i); 
            String[] values = dataByDevice.split(":"); 
            list.add(new float[values.length]); 
            for (int j = 0; j < values.length; j++) { 
                list.get(i)[j] = Float.parseFloat(values[j]); 
            }
        } 
        return list;
     } 

感谢您的帮助。

最佳答案

“//如何检查另一个索引中是否有另一个值(对于此示例索引2”,您可以添加另一个内部循环来迭代数组。

for (int i = 0; i < parsedData.size(); i++) {
    int parsedDeviceId = (int) parsedData.get(i)[0]; //get ID
    float[] values =    parsedData.get(i)[1];
  //how to check if there is another value in another index (for this exmaple index 2
} 

像这样:

for (int i = 0; i < parsedData.size(); i++) {
    int parsedDeviceId = (int) parsedData.get(i)[0]; //get ID
    for(int j = 1; j < parsedData.get(i).length; j++)
    {
         //process parsedData.get(i)[j] here
    }
}

关于java - 如何从 float[]、JSONArray 解析中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332850/

相关文章:

javascript - 在对象数组中按特定键对分组值进行计数

c# - 如何在 C# 中模拟/继承数组初始化语法?

java - 将 Univocity 解析器与 Spring Batch 结合使用

java - 无法为我的实体生成 UUID ID

java - Hibernate 自定义连接

python - numpy.transpose 是否在内存中重新排序数据?

c - 在 C 程序中传递数组作为参数并打印数组项

sql - 在 Postgres : Select columns from a set of arrays of columns and check a condition on all of them

java - 如何更改我的代码,以便结果基于用户输入的年日?

java - 如何在 hibernate-validator 中创建可选/可为空的属性?