它是用来前后端的交互功能,属于SpringMVC
是用来后端接收的json数据转换成各种格式。也可以转换各种格式
ObjectMapper mapper = new ObjectMapper();
User user = new User("243582", "h2435823336");
//mapper.writeValue(new File("test.txt"), user); // 写到文件中
//mapper.writeValue(System.out, user); //写到控制台
//对象转为字符串
String json_String = mapper.writeValueAsString(user);
System.out.println("对象转为字符串:" + json_String);
User jsonStr_Class = mapper.readValue(json_String, User.class);
System.out.println("json字符串转为对象:" + jsonStr_Class);
byte[] class_ByteArr = mapper.writeValueAsBytes(user);
System.out.println("对象转为byte数组:" + Arrays.toString(class_ByteArr));
User byteArr_Class = mapper.readValue(class_ByteArr, User.class);
System.out.println("byte数组转为对象:" + byteArr_Class);
ObjectMapper om = new ObjectMapper();
om.readValue(loginCheck, Map.class);
<dependency>
<groupId>org.codehaus.jacksongroupId>
<artifactId>jackson-mapper-aslartifactId>
<version>1.9.13version>
dependency>
<dependency>
<groupId>org.codehaus.jacksongroupId>
<artifactId>jackson-core-aslartifactId>
<version>1.9.13version>
dependency>
使用了JQuery方式,得到的返回值放在span标签中
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js">script>
<script>
function submit(){
var username = $("#username").val();
var password = $("#password").val();
var user = {
username: username,
password: password
};
$.ajax({
url:"SubmitServlet",
// url:"/login",
data:{"user":JSON.stringify(user),"username":username,"password":password},
// data:JSON.stringify(user),
cache:false,
type:"POST",
dataType:"json",
// contentType: 'application/json;charset=utf-8',
success: function (resultUser){
$("#span1").text(resultUser.username);
$("#span2").text(resultUser.password);
}
})
}
script>
@WebServlet("/SubmitServlet")
public class SubmitServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=utf-8");
System.out.println("成功到达后台");
//System.out.println("username: "+request.getParameter("username")+" "+"password: "+request.getParameter("password"));
String user = request.getParameter("user");
ObjectMapper mapper = new ObjectMapper();
User userBean = mapper.readValue(user,User.class);
System.out.println("userBean: "+userBean);
//把userBean对象返回到前端页面的成功回调函数
mapper.writeValue(response.getWriter(),userBean);
}
}
JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。
<dependency>
<groupId>com.alibabagroupId>
<artifactId>fastjsonartifactId>
<version>1.2.75version>
dependency>
JSONObject jsonObject = new JSONObject();
//对象转json字符串
String strs = JSONObject.toJSONString(user);
//JSOn字符串转JSON对象
JSONObject infoJson = JSONObject.parseObject(strs);
//get值 //不能set值
infoJson.getString("securityName");
JSONArray jsonArray = new JSONArray();
JSONObject liJson = new JSONObject();
liJson.put("materialUniqueFieldType", "idType");
liJson.put("materialUniqueFieldValue", materialId);
liJson.put("resourceType", "document");
jsonArray.add(liJson);
显示效果:
[{
"materialNo": 1,
"playTime": 20,
"resourceValue": "Station"
}]