0

我有一个 JSON 数组:

**
**
 {
      "Required" : true,
      "Validation" : {
        "MaxChars" : "40"
        "MinChars" : "10"
      }
  }
**
**

现在的代码:

 JSONObject formField = formListAdapter.formArray.getJSONObject(i);

 if(formField.has("Required") && formField.getBoolean("Required") == true){

 }

使用上述代码,我可以检查 JSON 中是否有一个名为“Required”的字段,以及是否属实。但是如何检查 Validation 里面是否有属性呢?以及如何检查它的名称和价值?即如何检查 MaxChars 或 MinChars 的数量?

4

4 回答 4

2

您可以使用JSONObject#getJSONObject来获取与键对应的 JSONObject,然后您可以执行相同的操作来从键中获取值。

JSONObject validationObject = formField.getJSONObject("Validation");

或者你可以使用更好的方法,使用杰克逊

于 2012-12-31T13:02:53.277 回答
1
JSONObject validationObject = jsonObject.getJSONObject("Validation");
if (validationObject.has("MaxChars")) {
   int maxChars = validationObject.getInt("MaxChars");
   ...
}

// same for MinChars

要获取 的属性名称validationObject,您可以使用:

String[] names = JSONObject.getNames(validationObject);
于 2012-12-31T21:13:04.590 回答
0

您必须检查“验证”对象的值。我从未使用过 json.org,但我相信您可以从中创建一个新的 JSONObject 并读取值,就像您使用数组中的对象一样。

于 2012-12-31T12:51:20.323 回答
0

您希望JSONObject.getJSONObject(String field)获取包含的 JSON 对象。

于 2012-12-31T12:53:15.797 回答