无论是 Web 端还是移动端开发,都会涉及到对 JSONArray 的解析,通常状况下前端会和后端会约定好返回的数据是一个 JSONArray 数组,当然前端也会按照 JSONObject.getJSONArray(String name)
的方式去解析数据。但现实中的情况是后端由于某些原因直接返回了 null
(而非空数组 [ ]),这时候前端依然按照数组的形式去解析就会抛出如下异常:
1 | org.json.JSONException: Value null at users of type org.json.JSONObject$1 cannot be converted to JSONArray |
这个异常明确的告诉我们,当 JSONArray 为 null 的时候,这个对象的属性发生了变化,由 JSONArray 变成了 JSONObject,然而前端却依然认为这是个 JSONArray 对象并以 JSONArray 的形式去取值,结果就抛出了异常。
more >>