What is the JSP equivalent to json_encode ( in PHP )?
I am trying to encode 开发者_运维知识库a JSP servlet into JSON. What's the equivalent in JSP to json_encode() in PHP ?
JSP/Servlet isn't that high-level as PHP which has practically "anything built-in". In Java you've more freedom to choose from libraries. There are several JSON libraries in Java available which you can implement in your webapp, the popular ones being under each JSON.org, Jackson and Google Gson.
We use here Gson to our satisfaction. It has excellent support for parameterized collections and (nested) Javabeans. It's basically as simple as follows:
String json = new Gson().toJson(anyObject); // anyObject = List<Bean>, Map<K, Bean>, Bean, String, etc..
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
Converting JSON to a fullworthy Javabean is also simple with Gson, see this example.
Gson is pretty cool.
Its almost the same as json_encode
. Note that an encoded empty string in json_encode
evaluates to "\"\""
In Gson it returns ""
There is a list of several Java libraries that handle JSON encoding at the bottom of http://json.org/ — take your pick.
json_encode in php is similar to following package in java
dependency:
import com.fasterxml.jackson.databind.ObjectMapper;
code :
Map<Object,Object> dataArray = {some data in map}
ObjectMapper objMapper = new ObjectMapper();
String jsonString = objMapper.writeValueAsString(dataArray);
jsonString is if the final result like son_encode in php, which you can achieve with objectMapper class
精彩评论