如何将String从json转换为float数组?

时间:2017-06-17 15:31:24

标签: java android json gson

在我的json数据中,我将Array中的数据作为字符串,例如:

//
"values": "{{0, 25}, {96.86, 184}}",
"matrix": "[1, 7, 0, 9, 0, 0]",
//

现在,我将数据作为String获取。如何将数据转换为float []?

3 个答案:

答案 0 :(得分:2)

您可以这样解析,

try {
    JSONObject object = new JSONObject("[your Json String]");

    String value = object.optString("values");

    String floatStr = value.replace("{", "").replace("}", "");

    String[] valuesArr = floatStr.split(",");

    float[] floatArr = new float[valuesArr.length];

    for (int i = 0; i < valuesArr.length; i++) {
        String floatString = valuesArr[i];

        if (TextUtils.isEmpty(floatStr) || TextUtils.isEmpty(floatStr.trim())) {
            floatArr[i] = 0.0f;
            continue;
        }

        floatArr[i] = Float.parseFloat(floatString.trim());
    }

    for (int i = 0; i < floatArr.length; i++) {
        Log.d(TAG, "value : at " + i + " is " + floatArr[i]);
    }
} catch (JSONException e) {
    e.printStackTrace();
}

答案 1 :(得分:0)

循环浏览json数据并使用

Float.parseFloat(your_float_value_in_string)

答案 2 :(得分:0)

İf我不明白错误先做:用String tokenizer sprit你的角色然后每个String看起来像数字你要做的最后一件事就是把String放到float数组中