2017-06-17 108 views
1

在我的JSON数据,我有数据数组作为字符串e.g:如何将字符串从JSON转换为浮点数组?

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

现在,我得到的数据为String。我怎么能将数据转换为浮动[]?

+0

你要转换这个值{{0,25},{96.86,184}}? –

+0

是的请...... – Anna

+0

检查我的答案。 –

回答

0

遍历您的JSON数据并使用

Float.parseFloat(your_float_value_in_string) 
+0

但是如果浮球在阵列中呢? – Anna

0

如果我不理解错了第一就做:用字符串精神你的性格标记生成器,然后每一个字符串看起来像数的最后一件事你必须做采取字符串的一部分并提出在float数组

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(); 
}