您的当前位置:首页正文

JsonObject是什么

2020-11-27 来源:尚佳旅游分享网
在项目中的action层 有时后会用到JsonObject来往页面传,这个跟request。setattribute有啥区别,或者struts2里的直接定义参数和对象 有啥区别?

补充问题:比如用的是Struts1 在Action类 一般都用request。setAttribute(list<T>)

用的是Struts2 直接在Action类定义private List<T> list 页面直接可以接收到这个list

问题是:为啥有的项目里非要用JsonObject来

JSONObject json = JSONObject.fromObject(list);

System.out.println(json.toString()); //结果为:{"name":"hzucmj","age":22}??有啥区别

JsonObject 就是常说的 json。

能够看作是一个JSON目标,这是体系中有关JSON界说的根本单元,其包含一对儿(Key/Value)数值。它对外部(External: 应用toString()办法输出的数值)调用的呼应体现为一个规范的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其间的Key和Value被冒号":"分隔)。其对于内部(Internal)行为的操作格局稍微,例如:初始化一个JSONObject实例,引证内部的put()办法增加数值:new JSONObject().put("JSON","Hello, World!"),在Key和Value之间是以逗号","分隔。Value的类型包含:Boolean、JSONArray、JSONObject、Number、String或许默认值JSONObject.NULL object 。

是一种重要的数据传输对象。

其格式为{"key1":value1,"key2",value2....};key 必须是字符串。

很像map对不对,一个key,一个value。

因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。

通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。

如果没有设置response.setContentType("application/json; charset=utf-8");

则需要自己再js中进行解析。

response.setContentType("application/json; charset=utf-8"); 
PrintWriter pw = response.getWriter();
Student s = new Student(。。);//反正就是构造一个对象,有没有数据无所谓
JSONObjet json = JSONObjet .from(s);//将s转化成json对象。
pw .print(json);
pw .flush();
pw .close();
这样这个json对象就传到你发送请求的那个jsp上面。
而$.post(url,datas.function(data){})这里的data就是后台返回的值,也就是这里的json
只需要 var json = data;//就获取到了。
再取得原来Student的属性 var name = json.name(student 的name 属性);

比较request.setAttribute("key",value);

这个必须配合forwoar来转发跳转到需要这个value的jsp页面。页面刷新。

Java中交互方式分为同步和异步两种:

同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。 区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。

显示全文