2014/10/21

Processing loadJSONArray() 問題

 在 Processing 中要載入一個 json 檔中存放的 array 資料會參考官方網站中以下列的程式碼執行:

JSONArray values;

void setup() {
  try {
    // values = new JSONArray();
    values = loadJSONArray("data.json");
  } catch(Exception e) {
    print(e.getMessage());
  }
  if (values == null) {
    println("values is null");
    exit();
  }
  for (int i = 0; i < values.size(); i++) {   
    JSONObject animal = values.getJSONObject(i);
    int id = animal.getInt("id");
    String species = animal.getString("species");
    String name = animal.getString("name");
    println(id + ", " + species + ", " + name);
  }
}

但一執行會遇到 cannot convert from JSONArray to JSONArray 的奇怪錯誤訊息,如果你在Eclipse 中開發很快就會發現問題在那裡。若是第一次接觸Processing 的人,真的是會被搞死。只要把第一行 JSONArray values;
前面加上 processing.data. 即可。