action 返回 json 的配置 <全部的分了>
XML code
<package name="listjson" extends="json-default">
<action name="projectaction" class="projectAction">
<result type="json">
<param name="includeProperties">
success,
totalSize,
projects\[\d+\]\.id,
projects\[\d+\]\.name,
projects\[\d+\]\.assetses\[\d+\]\.id,
projects\[\d+\]\.assetses\[\d+\]\.name
</param>
</result>
</action>
<action name="useraction" class="userAction">
<result type="json">
<param name="includeProperties">
success
</param>
</result>
</action>
</package>
返回的json:
JScript code
{
"projects":[
{"assetses":[
{"id":1,"name":"什么设备"}
],
"id":1,"name":"测试项目"},
{"assetses":[
{"id":2,"name":"什么设备"}
],"id":2,"name":"什么呢"},
{"assetses":[
{"id":9,"name":"什么5设备"},
{"id":8,"name":"什么设备"},
{"id":3,"name":"什么设备"},
{"id":6,"name":"什么设备"},
{"id":7,"name":"什么设备"}
],"id":3,"name":"测试项目3"},
{"assetses":[
{"id":4,"name":"什么设备"},
{"id":5,"name":"什么5设备"}
],"id":4,"name":"测试项目5"}
],"success":true,"totalSize":4
}
我想显示 project的全部属性,用projects\[\d+\]\.* 不行哦 projects\[\d+\]\.\* 这样也不行
还有就是返回的assetses的排序是乱的,请问怎么弄啊?
------解决方案--------------------学习了,这种方法以前试过,但是没有成功,后来看到另一个方法,就是把一个对象转化为json数据也是可以的,飞不了多大的事……
------解决方案--------------------将对象直接转换成json对象不行么,你这种写法没看懂
------解决方案--------------------我搞了了那么久,都没有用过楼主的方法。惭愧。。。
我一般在action封装自定义model,struts.xml就直接success了。
如果用我的办法,楼主可以自己构造合适的model吧,那样简单些,想要什么就来什么。
希望对您有所帮助。
------解决方案--------------------是啊。直接对象化,通过json传值。不用在xml里这么麻烦吧。楼主这种方式还是头次见啊,惭愧~
------解决方案--------------------属性再多点。。。就一个对象的属性就要看昏。。。。太繁琐了。。。用对象多方便啊。。。js里也可以.出属性啊。。。多方便。。。。
------解决方案--------------------我也没见过这种写法。。
------解决方案--------------------这种像JSON map 又觉得不对
JSONObject jsonobject = JSONObject.fromObject(json.toString());
Object pojo = JSONObject.toBean(jsonobject, People.class);
System.out.println(((People)pojo).getId());
我是这样转的,不知道能不能帮上你
------解决方案-------------------- JSONObject jsonObject = JSONObject.fromObject(subString);
Object pojo = JSONObject.toBean(jsonObject, People.class);
System.out.println(((People)pojo).getName());