500错误:转换成JSON格式数据时出错

java 同时被 2 个专栏收录
36 篇文章 0 订阅
5 篇文章 0 订阅

500错误:转换成JSON格式数据时出错

@Controller
public class AjaxController {
    @RequestMapping("ajax")
    @ResponseBody
    public List<Person> list(){
        List<Person> list = new ArrayList<>();
        Person person = new Person("hao", 18);
        list.add(person);
        return list;
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IW9nRN58-1597376014691)(D:\笔记\images\500错误,转换json出错.png)]

解决:

在pom文件加入以下依赖或下载对应jar包

<!-- json转换工具 -->
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
   <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.47</version>
    </dependency>

controller代码修改:

@Controller
public class AjaxController {
    @RequestMapping("ajax")
    @ResponseBody
    public String list(){
        List<Person> list = new ArrayList<>();
        Person person = new Person("hao", 18);
        Person person1 = new Person("lin", 15);
        list.add(person);
        list.add(person1);
         //返回值是字符串类型,在前端需要解析JSON字符串
        return JSONObject.toJSONString(list, SerializerFeature.WriteMapNullValue);
    }
}

前端代码:

<body>
	<input type="button" id="btn" value="获取数据">
	<table width="80%" align="center">
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>
		<tbody id="content"/>
	</table>
	<script src="/js/jquery/jquery-2.1.4.min.js"></script> 

<script>
	$(function () {
		$("#btn").click(function () {
			$.post("/ajax.do",function (data) {
                 console.log(data);
				var work = $.parseJSON(data);//解析一个 JSON 字符串
				console.log(work)
                 var html ="";
				for (var i = 0;i<work.length;++i){
					html += "<tr>"+
							"<td>"+work[i].name + "</td>" +
							"<td>"+work[i].age + "</td>" +
							"</tr>"
				}
				$("#content").html(html);
             })
		})
	})
</script>
  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

Coding~Farmer

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值