simplejson/java - как обрабатывать нулевые массивы/списки

Следующий фрагмент java имеет дело с преобразованием simplejson и string/JSONArray. Я использую jre 1.6 на Centos.

Моя цель - попытаться понять, как обрабатывать нулевой массив в качестве входного текста и преобразовать в простой JSON JSONArray.

«s» в чанке представляет образцы допустимых входных данных в тестовом приложении.

.
.
.
import org.json.simple.*;

    String s="[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
    String s="[null]";

    Object objm=JSONValue.parse(s);
    JSONArray array=(JSONArray)objm;
    System.out.println(array.size();

//the above works as expected...
however, if i use a string of

    String s="[]";

i get an error:
    Exception in thread "main" java.lang.ClassCastException: 
    java.lang.String cannot be cast to org.json.simple.JSONArray

Итак, я пытаюсь понять, как я могу использовать "[]" без проверки текста для преобразования в массив []...

Какие-нибудь мысли??

Спасибо


person tom smith    schedule 04.01.2012    source источник


Ответы (1)


Просто проверьте это:.

if (!"[]".equals(s)) {
  Object objm=JSONValue.parse(s);
  JSONArray array=(JSONArray)objm;
  System.out.println(array.size();
} else {
  // ..
}
person MasterCassim    schedule 04.01.2012