2014-09-25 46 views
1
中未定義

我面臨從Jsonarray(object)獲取jsonarray的問題。錯誤在這一行 jsonArray = new JSONArray(value);錯誤 「的構造JSONArray(對象)是未定義」構造函數JSONArray(Object)在android

public static JSONArray getPropertyJsonArray(GraphObject graphObject, String property) { 
    if (graphObject == null) { 
     return null; 
    } 
    Object value = graphObject.getProperty(property); 
    if (value == null || value.equals(EMPTY)) { 
     return null; 
    } 

    JSONArray jsonArray; 
    try { 

    //error line 
     jsonArray = new JSONArray(value); 



     return jsonArray; 
    } catch (JSONException e) { 
     try { 
      return (JSONArray) value; 
     } catch (Exception e1) { 
     } 
    } 
    return null; 
} 

回答

1

沒有JSONArray(GraphObject)構造。你可以做的是檢索JSONObject代表的GraphObject

JSONObject jsonObj = graphObject.getInnerJSONObject(); 

從文檔

getInnerJSONObject()獲取 此圖形對象的基本的JSONObject表示。

編輯

正如所指出的@Weston,用最新的API(19),即取爲Object已添加參數的構造。如果你想使用它,你必須編譯與kitkat的sdk

+0

我在我的android應用程序中集成Facebook SDK。而這條線阻止我在我的項目中繼續前進。 – 2014-09-25 07:41:20

+0

但有一個構造函數需要一個'Object':http://developer.android.com/reference/org/json/JSONArray.html#JSONArray(java.lang.Object)我希望運行時異常也許,但不是編譯時錯誤。 – weston 2014-09-25 07:46:22

+0

@weston,謝謝指出。我不知道那件事。它添加了最新的api(19),因此該操作正在編譯一箇舊的版本 – Blackbelt 2014-09-25 07:50:29

相關問題