2014-11-18 2 views
0

Я застрял с кодом. Я использую Spring MVC 4. У меня есть одно условие, когда мне нужно передать объект json на стороне контроллера и повторить его. Мой объект Json выглядеть нижеParsing json object в java-коде

{"comptocome":[ 
    {"1":"Key Parameters","2":"Cellular Limited","3":"limited","4":"Cellular Limited"}, 
    {"1":"- Long term","2":"Reaffirmed","3":"football","4":"golf"} 
    ] 
} 

относительно выше, у меня есть передать это контроллер и итерации в соответствии с количеством строки, например, сверху два раза цикла, а также для выборки данных в соответствии с ключом, может ли один помочь я вне сортирую эту проблему с помощью пакета import org.json.simple.JSONObject.

Заранее спасибо.

+1

посмотреть на этот ответ: http://stackoverflow.com/a/26719883/1614378 – dit

+0

Вы можете использовать Джексона объект карты. Возможный ответ здесь http://stackoverflow.com/questions/6019562/parsing-json-in-spring-mvc-using-jackson-json – Lokesh

+0

Возможный дубликат [Как разобрать JSON в Java] (http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java) – DwB

ответ

0

Вы можете использовать com.google.gson для него:

@RequestMapping(value = "/request", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) 
public @ResponseBody ResponseClass addDeparturePoint(@RequestBody String request) { 
    Gson gson = new Gson(); 
    RequestClass request = gson.fromJson(request, RequestClass.class); 
    ResponseClass response = buildResponce(request); 
    return response; 

}

1

Анализировать с помощью Джексон JSON

например:

{ 
"foo" : ["1","2","3","4"], 
"bar" : "xxxx", 
"baz" : "yyyy" 
} 

Может быть сопоставлен к этому сорту:

public class Fizzle{ 
    private List<String> foo; 
    private boolean bar; 
    private int baz; 
    // getters and setters omitted 
} 

Теперь, если у вас есть метод контроллера, как это:

@RequestMapping("somepath") 
@ResponseBody 
public Fozzle doSomeThing(@RequestBody Fizzle input){ 
    return new Fozzle(input); 
} 
+0

Спасибо, что решает мою другую проблему. – jamseernj

+0

Спасибо за ответ, это действительно навязчивое отношение к классу bean, о котором я думаю, без нашего достижения. – Anurag