概述
json可以理解为key,value键值对
分类: 分为 json对象 ,json数组
格式: 除了数组和数字,其他的都要加引号(最普通格式单双引号都可以)
附加:
延伸出打印格式为:json字符串
json关联的还有java对象
一.四者区别:
1.java对象:
属于某一实体类中有的部分或全部属性 的 java对象格式 的属性集合,
如
java对象{pageSize=8}
2.json对象:
属于某一实体类中有的部分或全部属性 的 json对象格式 的属性集合,
如
{'name':x(x为"a"或数字或a(变量为已定义的)或数组或json数组}
3.json数组:
属于 json对象的 集合;[{"pageSize":8,name:"的"},{"name":"啊",sex:"男"}]
4.json字符串: 为json对象的 提交或打印输出格式;如json字符串'{"pageSize":8}' (注意引号)
(看起来json’对象和json字符串打印时没区别??
实际是有本质区别的!可以理解为java类中String a=“哦” ,打印时的字符串 "哦"表达形式是没引号的.)
二,四者转换:(因为涉及json通常要涉及到javaweb.)
1.writeValueAsString():
java对象→ json字符串
(通常存在于客户端和服务端的交互点的 客户端发送 :(HttpClientToolImpl.java)
............
格式(细节根据情况自定义):
ObjectMapper objMapper = new ObjectMapper();
String json = objMapper.writeValueAsString(obj);
............
附1偶尔还是用
1.JSONObject.fromObject():
*同样是java对象→ json字符串
(通常存在于controller层传至jsp页面中 *
http://www.cnblogs.com/qiankun-site/p/5774325.html
JSONObject.fromObject(user(user为java对象)).toString());
2.readValue()
json字符串→java对象
(通常存在于客户端和服务端的交互点的客户端接收*:(HttpClientToolImpl.java)*
............
格式(细节根据情况自定义):
log.info("响应报文JSON字符串" + responseStr);
return objMapper.readValue(responseStr, ApiResponseObject.class);
(其中ApiResponseObject为Javaweb中需要的返回json对象的格式的自定义类)
.............
3.stringify()
json对象→java字符串
(通常用于jsp中,因为jsp中是经过一定处理才能获得并利用json对象的!!!)
格式:
JSON.stringify(xxx)(位于ajax的data处)
例如
$.ajax({
type : "POST",
contentType : 'application/json;charset=utf-8',
url : "${pageContext.request.contextPath}/pc/contect/remove?${_csrf.parameterName}=${_csrf.token}",
data : JSON.stringify({"id":$(Obj).attr("zid")}),
dataType : "json", //ajax返回值设置为text(json格式也可用它返回,可打印出结果,也可设置成json)
async : false,
success : function(json) {
if(json.errorCode==0){
$(Obj).parent().parent().remove();
}
},
error : function(json) {
toastr.warning("删除失败");
}
});
4.parse()
json字符串→json对象
(通常也用于jsp中.)
源码例子:https://www.runoob.com/js/javascript-json-parse.html
<script>
var text = '{"employees":[' +
'{"name":"菜鸟教程","site":"http://www.runoob.com" },' +
'{"name":"Google","site":"http://www.Google.com" },' +
'{"name":"Taobao","site":"http://www.taobao.com" }]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].name + " " + obj.employees[1].site;
</script>
打印:
Google http://www.Google.com
*注意:parse()(json字符串→json对象) 相对
readValue()*( json字符串→java对象 )来说,
parse()是直接键数据打印html页面,
而readValue()是发送至后台去利用处理数据 )
最后
以上就是迷你含羞草为你收集整理的JSON总结以及在javaweb中的四种方法的相互转化的全部内容,希望文章能够帮你解决JSON总结以及在javaweb中的四种方法的相互转化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复