java后台返回json_java之后台返回json格式字符串,前台接受并转为json文件

本文记录了一位新手在项目中遇到的问题,即如何从Java后台返回JSON格式数据,以便前端生成折线图。起初,通过将数据库查询结果转化为JSON字符串传递,但前端无法直接使用。后来尝试在后台将数据转换为JSON对象,但由于不清楚如何返回JSON对象到前端,最终仍以字符串形式返回,并在前端使用eval()函数解析。文中提供了相关的Java代码示例,展示了如何构建JSON数据。
摘要由CSDN通过智能技术生成

作为一个菜鸟,做项目真的好困难呀,这两天被一个问题困了两天,终于解决了,但是也不算太完美。首先,先说一下问题吧,根据后台返回的值,前台接受并作出一个折线图。

最初,在后台根据从数据库中的值,强制拼成了json格式的字符串,利用model返回给前台,前台Ajax  success:function(data)data接收数据,这是应该接收的是字符串,由于折线图中series中的data为非字符串,(这个是后来百度才知道的),就没有成功。然后就想后台直接将数据转换成json,然后返回前台,利用里JSONArray,JSONObject这两个包,将数据转换成了json格式,可是问题是不知道如何将json类型返回到前台,(百度了好多,还是不会,如果有会的教教我呗,)最后还是将json转换成了String类型返回到前台,最后利用eval()函数转换成了json格式。(这里的eval("("+data+")") 原因由于json是以”{}”的方式来开始以及结束的,在js中,它会被当成一个语句来处理,所以必须强制性的将它转换成一种表达式。JavaScript代码的时候强制将括号内的表达式。像字面量{},如若不加外层的括号,那么eval会将大括号识别为结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:

alert(eavl("{}");//return undefined

alert(eval("({})");//return object[Object]

我的代码如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值