本文目录一览:
- 1、java里的JSONObject作用是什么?什么时候用?
- 2、jquery $ajax调后台方法,响应出正确的json数据,但会弹出object object
- 3、debug 到JSONObject jo=new JSONObject();弹出source not found
- 4、mvc中的jsonobject报错怎么解决
java里的JSONObject作用是什么?什么时候用?
JsonObject 就是常说的 json。是一种重要的数据传输对象。其格式为{"key1":value1,"key2",value2....};key 必须是字符串。
因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。
通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。如果没有设置response.setContentType("application/json; charset=utf-8"); 则需要自己再js中进行解析。
扩展资料
Java中交互方式分为同步和异步两种:
同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
区别:一个需要等待,一个不需要等待,在部分情况下,项目开发中都会优先选择不需要等待的异步交互方式。
比如银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。
jquery $ajax调后台方法,响应出正确的json数据,但会弹出object object
那你是因为你返回的是对象,不是字符,可用JSON.stringify(data)查看data到底有些什么。
debug 到JSONObject jo=new JSONObject();弹出source not found
你打开jar包下的class文件,eclipse只能根据jdk提供的反编译功能来现实该class反编译出来的类似汇编语言的程序代码(和汇编语言还是有很大区别的,就当是java的汇编语言吧)!
如果你想看到源代码,方法很多,你可以在下载jar包的时候,一起把源代码下载!之后可以和你的eclipse关联起来,之后再看就可以看到源码了!
或者是下载一款反编译工具,来反编译jar下的class文件,个人推荐jd-gui这个工具,本人就是用这个工具,反编译功能很强,而且能保存成java文件,并且软件很小,只有几百K。
mvc中的jsonobject报错怎么解决
利用 Json方法返回 数据时,如果有时间格式,会变成 "\/Date(1369419656217)\/" 这个样子,问了同事找到个解决方法
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return Content(JsonConvert.SerializeObject(Data, Formatting.Indented, timeConverter));
我们把这个方法封装一下,写到Controller的基类里,创建一个 BaseController 的基类
public class BaseController : Controller
{
/// summary
/// 返回处理过时间的json
/// /summary
/// param name="Data"/param
/// returns/returns
protected ContentResult JsonDate(object Data)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return Content(JsonConvert.SerializeObject(Data, Formatting.Indented, timeConverter));
}
}
保证我们每一个Controller去继承这个类
public class HomeController : BaseController
{
public ActionResult GetJson()
{
var result = new object[] {
new { name = "linfei", age = "22", address = "wuhan",date="2013-05-01" },
new { name = "linfei", arg = "26", address = "sh",date="2013-05-20" }
};
return JsonDate(result);
}
}