0
我控制器取決於字面JSON輸入JSON數組返回輸出JSON Spring MVC中
@Controller
public class HomeController {
@RequestMapping(value = "/trans", method = RequestMethod.POST)
public @ResponseBody String jsontest(@RequestBody String transjson) throws JsonProcessingException, IOException, JSONException {
try{
JsonParser parser = new JsonParser();
parser.parse(transjson);
String output = null;
JSONObject obj1 = new JSONObject(transjson);
int size=obj1.getJSONArray("inArray").length();
/* this is where I need help.*/
for(int i=0;i<size;i++){
output="{\"outArray\":[{\"in\":\""+obj1.getJSONArray("inArray").get(i)+"\",\"out\":\"hie\"}]}";
}
return output;
}
catch(JsonSyntaxException ex)
{
System.out.println(ex.getMessage());
return "{\"message\":\"Invalid JSON\"}";
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
return "{\"message\":\"Exception occured\"}";
}
}
}
我要的是,如果我輸入JSON是
{
"inArray": [
"first"
]
}
那麼我的輸出應該是
{
"outArray": [
{
"in": "first",
"out": "hie"
}
]
}
如果我的輸入JSON是
{
"inArray": [
"first",
"second"
]
}
那麼我的輸出應該是
{
"outArray": [
{
"in": "first",
"out": "hie"
},
{
"in": "second",
"out": "hie"
}
]
}
意味着我不知道在輸入JSON輸入數組中元素的個數。我需要在輸入元素數字的基礎上以字面json格式輸出,如上所示。 我嘗試了一些東西,但一直未能得到所需的輸出。