2014-12-27 2 views
0

Я помещаю некоторые объекты Java в Json на стороне сервераПолучение объекта Java обратно из JSON

так:

 ArrayList<VisjsNode>visjsNodes = new ArrayList<VisjsNode>(); 
     ArrayList<VisjsConnection> visjsConnections = new ArrayList<VisjsConnection>(); 
     String jsondata = null; 
     org.json.JSONObject object = new org.json.JSONObject(); 
    try { 
     object.put("nodes", visjsNodes); 
     object.put("connections", visjsConnections); 
     jsondata = object.toString(); 

Теперь есть способ, которым я могу получить эти объекты обратно из этого JSON (jsondata) на стороне клиента

Я делаю это:

  com.google.gwt.json.client.JSONValue jsonValue = JSONParser.parseStrict(jsondata); 
      com.google.gwt.json.client.JSONObject jsonObject = jsonValue.isObject(); 
      jsonValue = jsonObject.get("nodes"); 

Теперь я пытаюсь это, чтобы получить ArrayList назад, делая это

   ArrayList<VisjsNode>visjsNodesFromjson = jsonValue ; 

Но его не компиляции, он говорит несовместима типы ...

Можете ли вы руководство, как мы можем получить объект Java обратно из Json ..

+0

Это не то, что Java делает по умолчанию, вам нужна библиотека, такая как jackson on gson. – keyser

+0

, но эти библиотеки не работают на стороне клиента .. и мне нужны эти объекты на стороне клиента – junaidp

ответ

0

Это потому, что вы используете два разных класса JsonObject. Сначала вы используете тот, который поступает из org.json (org.json.JsonObject), а другой - com.google.gwt.json.client.JSONObject. Тем не менее, они названы похожими, они полностью разных классов.