2017-06-17 159 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(); 
}