java如何返回json格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何返回json格式相关的知识,希望对你有一定的参考价值。
在Java中,可以使用Jackson库将Java对象转换为JSON格式。例如,假设有一个名为person的Person对象,可以使用以下代码将其转换为JSON格式:import com.fasterxml.jackson.databind.ObjectMapper;ObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(person);
这段代码中,ObjectMapper类是Jackson库中的一个核心类,用于将Java对象转换为JSON格式。首先创建一个ObjectMapper对象,然后调用其writeValueAsString方法将Person对象转换为JSON格式的字符串。最后将该字符串返回即可。
需要注意的是,如果要将Java对象转换为JSON格式,需要为该对象添加getter方法,以便ObjectMapper类能够访问该对象的属性。另外,需要在pom.xml文件中添加Jackson库的依赖,例如:
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.3</version></dependency> 参考技术A 例如:
Student st1 = new Student(1, "dg", 18, new Date());
Student st2 = new Student(2, "dg", 18, new Date());
Student st3 = new Student(3, "dg", 18, new Date());
Student st4 = new Student(4, "dg", 18, new Date());
Student st5 = new Student(5, "dg", 18, new Date());
List li = new ArrayList();
JSONObject JO1 = new JSONObject(st1);
JSONObject JO2 = new JSONObject(st2);
JSONObject JO3 = new JSONObject(st3);
JSONObject JO4 = new JSONObject(st4);
JSONObject JO5 = new JSONObject(st5);
li.add(JO1);
li.add(JO2);
li.add(JO3);
li.add(JO4);
li.add(JO5);
JSONArray Ja = new JSONArray(li);
Map ma = new HashMap();
ma.put("Result", "OK");
ma.put("Records", Ja);
JSONObject js = new JSONObject(ma);
out.print(js);
返回结果:
"Result":"OK","Records":["recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":1,"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":2,"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":3,"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":4,"recordDate":"Fri Dec 16 17:54:39 CST 2011","name":"dg","age":18,"personId":5] 参考技术B public static void returnJson(HttpServletResponse response, CharSequence text)
throws Exception
response.setContentType("application/json;charset=UTF-8");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragrma", "no-cache");
response.setDateHeader("Expires", 0);
response.getWriter().write(text.toString());
其中text这个是JSONObject或者Map
response.setContentType("application/json;charset=UTF-8");这个表示以json格式返回
前台需要eval接收到的数据,就是json格式了
参考技术C 在后台拼接好JSON字符串后,直接用out输出到界面,Writer out = = response.getWriter();
if(str!=null)
out.write(jsonstr);
out.flush();
参考技术D 0.0 json是一种javaweb的技术吧 不沾边吧
如何将从接口取到的json数据存入mysql数据库
参考技术A json的数据json.loads进来以后会变成一个json的对象,你需要自己把python对象中的字段值取出来,拼成sql语句你可以把这个过程封装成一个函数
import json
def save_json(json_str):
obj = json.loads(json_str)
sql = 'insert into tbl values ("%s")' % obj['id'] #这里注意编码,要转成数据库的编码格式
#blabla
以上是关于java如何返回json格式的主要内容,如果未能解决你的问题,请参考以下文章
java - 如何在java中使用restful api以json格式返回404?
C# 调用Java的WebService(返回json格式数据),老是返回null, 求解!
web环境下,servlet如何设计java接口接收json,并将处理结果按json格式返回?