очень простой вопрос java / json.
У меня есть следующий тестовый фрагмент кода. Я могу получить 1-й элемент, используя ".get ()" либо по индексу, либо по ключу. но я не могу получить другие элементы по ключу ...
Тест умирает, и в командной строке ничего нет .. Я предполагаю, что это из-за того, что что-то неправильно настроено в моем env для отображения ошибочных результатов ..
UPDATE ::
Хорошо ... похоже, что настоящая проблема в том, что я не знаю, как получить предмет, и сначала определить, к какому «типу» он должен быть приведен. для "псевдонима", "имени" .. если я приведу их как String .. я получу правильный результат ..
Итак, как можно пройти по списку ключей / значений json, чтобы определить, как правильно получить каждый элемент ??
Тестовый код:
import org.json.simple.JSONObject;
import org.json.simple.*;
//import org.json.simple.JSONValue;
public class asuH {
public static void main(String[] args){
final String[] arguments = args;
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try{
String json_=arguments[0];
//--get the page for the 1st and 2nd urls...
//test the json input..
System.out.println("asdfsfd \n");
System.out.println(json_);
//JSONObject obj=new JSONObject();
//Object obj=JSONValue.parse(json_);
String k9="{\"nickname\":null,\"num\":100,\"contact\":{\"phone\":\"123456\",\"zip\":\"7890\"},\"balance\":1000.21,\"is_vip\":true,\"name\":\"foo\"}";
//JSONObject obj = (JSONObject)JSONValue.parse(json_);
JSONObject obj = (JSONObject)JSONValue.parse(k9);
System.out.print("11 \n");
String fa = (String)obj.get("nickname");
System.out.print(fa);
System.out.print("22 \n");
fa = (String)obj.get("contact"); //<< not working!!!
System.out.println("22 cc\n");
System.out.println(fa);
String ttt=obj.toString();
System.out.print(ttt);
System.out.println("\n s4354455 \n");
System.exit(0);
}
catch (Exception ex) {}
System.exit(0);
}
});
}
}
любые мысли / указатели приветствуются.
спасибо