本文将分享json格式数据的详细内容,并且还将对json格式数据示例进行详尽解释,此外,我们还将为大家带来关于102.json格式数据返回到页面并js解析、56Python-JSON格式数据处理、aj
本文将分享json格式数据的详细内容,并且还将对json格式数据示例进行详尽解释,此外,我们还将为大家带来关于102. json格式数据返回到页面 并js解析、56 Python - JSON格式数据处理、ajax发送json格式数据、Ajax将数据封装为JSON格式数据的相关知识,希望对你有所帮助。
本文目录一览:json格式数据(json格式数据示例)
当开发时需要使用到json数据的时候,比如ajax请求,想将数据转化为json传输;或者使用某个js插件,该插件需要绑定的数据格式为json格式等等。一般做法有两种,一个是在代码中,将获取的数据转化为json之后,存放到String类型的变量里,比如我从数据库查询数据存放到map中,然后JSONObject jo=JSONObject.fromObject(map); 将其转化,最后把该数据赋值给定义好的String变量,result=jo.toString();最后返回给页面。第二个,就是直接拿到数据,比如我们查询的数据存放在map中,我们用JSONObject jo=JSONObject.fromObject(map);将其转化为json对象,然后直接返回JSONObject的对象,最后返回给页面。
当页面从后台取到的数据是String类型的数据时候,但我们的程序或者js插件需要json格式,这时我们需要将result=jo.toString();的result转化为json,var json= eval("("+result+")");
当从后台去到的数据是JSONObject时,那么我们无需转化,直接将其赋值给我们的程序或者js插件的绑定数据处即可。
102. json格式数据返回到页面 并js解析
1. 效果
2.前端 ajax请求
//10. 后台返回 更 复杂的 json格式数据 前段解析
//{"status": "101","msg": "操作成功","data": {"totalSize": "10","totalPage": "4","pageSize": "3","currentPage": "2","beanList": [{"name": "John","age": "25"}, {"name": "luck","age": "20"}]}}
$("#responmoreComplexJsonid").click(function(){
$.ajax({
url:''${pageContext.request.contextPath }/responMoreComplexJson.action'',
type:''post'',
success:function(data){
var obj = JSON.parse(data); //由JSON字符串转换为JSON对象
var needobj = obj.data.beanList;
for(var i = 0; i < needobj.length; i++){
alert(needobj[i].name + " " + needobj[i].age);
}
}
},''json'')
});
3. 后台 ajax请求 不能返回 只能以流的形式返回
@RequestMapping("/responMoreComplexJson.action")
public void responMoreComplexJson(HttpServletResponse response ){
try {
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"status\"");
sb.append(":");
sb.append("\"101\"");
sb.append(",");
sb.append("\"msg\"");
sb.append(":");
sb.append("\"操作成功\"");
sb.append(",");
sb.append("\"data\"");
sb.append(":");
sb.append("{");
sb.append("\"totalSize\":");
sb.append("\"10\"");
sb.append(",");
sb.append("\"totalPage\":");
sb.append("\"4\"");
sb.append(",");
sb.append("\"pageSize\": \"3\",\"currentPage\": \"2\",");
sb.append("\"beanList\":");
sb.append("[{\"name\": \"John\",\"age\": \"25\"}, {\"name\": \"luck\",\"age\": \"20\"}]");
sb.append("}}");
//输出流 对象
PrintWriter out = response.getWriter();
out.write(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
56 Python - JSON格式数据处理
Json也是多语言通用的数据交互格式
创建一个json目录和一个文件
字典表数据转换为json数据——dumps(s代表字符串非复数含义)
Json数据转换为字典表——loads(s代表字符串非复数含义)
把数据以json格式写入文件中——dump(注意没有s因为不是转为字符串)
读取json文件——load
Python中的True False none转换为json中的true false null 差异是什么
Python的False转换为json的false(False变为false)
Pyhon中的None转换为json后(None转换为null)
Python 和json类型差异另一个例子
ajax发送json格式数据
前后端在做数据交互的时候 一定一定要表明你所发的的数据到底是什么格式
前段后交互 你不能骗人家,不然后端开发人员来找你的时候会抄着一根凳子腿。 你的数据时什么格式 你就应该准确无误告诉别人是什么格式
那么怎么告诉后端你要发送的数据的格式是什么呢
form 表单是通过 他的 enctype
而 ajax 是通过 contentType,如果你要传送的数据是json(通常只有json格式)
你需要这么写 contentType:''application/json''
要怎样发送一个json格式的数据呢? 后端有json.dumps 前端有JSON.stringify()。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<input type="text" id="t1"> + <input type="text" id="t2"> = <input type="text" id="t3">
<p>
<button id="b1">计算</button>
</p>
<script>
$(''#b1'').on(''click'',function () {
$.ajax({
url:'''',
type:''post'',
contentType:''application/json'',
{#data:{''t1'':$(''#t1'').val(),''t2'':$(''#t2'').val()},#}
data:JSON.stringify({''username'':''chanyuli'',''password'':''123''}),
success:function (data) {
$(''#t3'').val(data)
{#alert(data)#}
}
})
})
</script>
</body>
</html>
这时候就会发现后端 post 里面没有任何信息了,这就是之前讲过的,django后端会对不同的数据格式进行不同的处理,这又不是 xxxxx&xxxxx类型的。所以没有在post里面。
**Ajax传json格式数据:**django后端针对json格式的数据 不会自动帮你解析 会直接原封不动的给你放到request.body中 你可以手动处理 获取数据。
这时候去后端 打request.body ,发现是一个b''{"username":"chanyuli","password":"123"}
是一个bytes类型的数据,这时候我们自己反序列化就好了。
注意点
1.指定contentType参数
contentType:''application/json'',
2.要将你发送的数据 确保是json格式的
data:JSON.stringify({''username'':''jason'',''password'':''123''})
注意:有些时候 request.body 会看不了,django会给你报错。
Ajax将数据封装为JSON格式数据
核心包
依赖包 一个不能少
工具类
/** * 处理json数据格式的工具类 * */ public class JSONUtil { /** * 将数组转换成String类型的JSON数据格式 * * @param objects * @return */ public static String array2json(Object[] objects){ JSONArray jsonArray = JSONArray.fromObject(objects); return jsonArray.toString(); } /** * 将list集合转换成String类型的JSON数据格式 * * @param list * @return */ public static String list2json(List list){ JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray.toString(); } /** * 将map集合转换成String类型的JSON数据格式 * * @param map * @return */ public static String map2json(Map map){ JSONObject jsonObject = JSONObject.fromObject(map); return jsonObject.toString(); } /** * 将Object对象转换成String类型的JSON数据格式 * * @param object * @return */ public static String object2json(Object object){ JSONObject jsonObject = JSONObject.fromObject(object); return jsonObject.toString(); } /** * 将XML数据格式转换成String类型的JSON数据格式 * * @param xml * @return */ public static String xml2json(String xml){ JSONArray jsonArray = (JSONArray) new XMLSerializer().read(xml); return jsonArray.toString(); } /** * 除去不想生成的字段(特别适合去掉级联的对象) * * @param excludes * @return */ public static JsonConfig configJson(String[] excludes) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); return jsonConfig; } }
public static void main(String[] args) { /***********************模拟查询数据库结果集**************************/ // Province p1 = new Province(1,"吉林省"); // Province p2 = new Province(2,"辽宁省"); // Province p3 = new Province(3,"山东省"); // // List<Province> provinces = new ArrayList<>(); // provinces.add(p1); // provinces.add(p2); // provinces.add(p3); City city1 = new City(1,"长春市"); City city2 = new City(2,"吉林市"); City city3 = new City(3,"松原市"); City city4 = new City(4,"四平市"); City city5 = new City(5,"通化市"); List<City> citys = new ArrayList<City>(); citys.add(city1); citys.add(city2); citys.add(city3); citys.add(city4); citys.add(city5); Province province = new Province(1,"吉林省",citys); /***********************模拟查询数据库结果集**************************/ String json = JSONUtil.object2json(province); System.out.println(json); }
输出结果
{"citys":[{"id":1,"name":"长春市"},{"id":2,"name":"吉林市"},{"id":3,"name":"松原市"},{"id":4,"name":"四平市"},{"id":5,"name":"通化市"}],"id":1,"name":"吉林省"}
我们今天的关于json格式数据和json格式数据示例的分享就到这里,谢谢您的阅读,如果想了解更多关于102. json格式数据返回到页面 并js解析、56 Python - JSON格式数据处理、ajax发送json格式数据、Ajax将数据封装为JSON格式数据的相关信息,可以在本站进行搜索。
本文标签: