Java 处理:如何检查JSON对象是否已绑定

Java 处理:如何检查JSON对象是否已绑定,java,json,api,processing,Java,Json,Api,Processing,由于处理论坛关闭了,我希望你们中的一个能帮我 我制作了一个处理草图,它以JSON格式从API(test here:)中提取数据,并读取这些数据的一些字段以进行可视化。到目前为止,一切都很正常,除非有字段没有绑定到每个JSONObject 这是用于检索数据的代码: JSONObject json; json = loadJSONObject("data.json"); // loading my JSON file into the object JSONArray CHOData = json.

由于处理论坛关闭了,我希望你们中的一个能帮我

我制作了一个处理草图,它以JSON格式从API(test here:)中提取数据,并读取这些数据的一些字段以进行可视化。到目前为止,一切都很正常,除非有字段没有绑定到每个JSONObject

这是用于检索数据的代码:

JSONObject json;
json = loadJSONObject("data.json"); // loading my JSON file into the object
JSONArray CHOData = json.getJSONArray("items"); // array of the items I want data from

for (int i = 0; i < CHOData.size(); i++) {
    JSONObject CHO = CHOData.getJSONObject(i); // get a specific item
    JSONArray previewObj = CHO.getJSONArray("edmPreview"); // this field is an array, so I need to store it in a JSONArray object first
    String[] previewArray = previewObj.getStringArray(); // here I store it in my actual string array
    String preview = previewArray[0]; // I only need the first element
}

我不熟悉JSON,所以我可能错过了一些重要的东西。。。谢谢你的帮助

所以我自己找到了答案,但不是在Processing引用中,而是在Java()中JSONObject类的实际引用中。我在那里尝试了一些方法,发现hasKey()(实际上是我自己想出的,将方法“has()”与术语“key”结合起来,纯粹是巧合)作为布尔值非常有效:

  String preview = "";
  if (CHO.hasKey("edmPreview")) {
    JSONArray previewObj = CHO.getJSONArray("edmPreview");
    String[] previewArray = previewObj.getStringArray();
    preview = previewArray[0];
  }

所以现在我了解到,处理本质上只是Java,有时并不是每个方法都写在引用中。:-)

您使用的是什么JSON库?包括您的导入。我没有任何导入,我认为库内置于处理中,您可以在这里看到它的文档:JSONObject来自哪个包?
  String preview = "";
  if (CHO.hasKey("edmPreview")) {
    JSONArray previewObj = CHO.getJSONArray("edmPreview");
    String[] previewArray = previewObj.getStringArray();
    preview = previewArray[0];
  }