求json转对象?

nazhawenxi 2011-01-27 10:37:31
前台代码:
<script type="text/javascript">
var json = {name:'aaa',age:18};
$.post("ss.action?json="+json,function(data){
alert(data);
});
</script>
struts2:action中
得到这个json后,如何把里面的name和age给打印出来,或者如何直接转对象!
传值方式不能变!!
...全文
831 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
我知道类,你那样传,传过去的哪里是json对象啊!!哎!!就是一个传参数!!
heardy 2011-01-27
  • 打赏
  • 举报
回复
你看我上面传的 看获取的是什么看。。

获取方法在Javacode里面
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
这样传数据到后台才是json类型,你也可以先把json赋值到一个文本框里,然后后台得这个文本框的值,都一样啊!显示出来都是[object object]!
heardy 2011-01-27
  • 打赏
  • 举报
回复
var json = {name:'aaa',age:18};
$.post("ss.action",json,function(data){
alert(data);
},json)

System.out.println(request.getParameter("name"));


额。。

别人只要URL 还是post请求 你把数据带到URL做什么

这个人真是无语
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
不知道你说什么,搞不懂就做下来看高手解决!!掺和啥呢
heardy 2011-01-27
  • 打赏
  • 举报
回复


jQuery.post( url, [data], [callback], [type] )

通 过远程 HTTP POST 请求载入信息,使用POST方式来进行异步请求。

这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

返回 值:XMLHttpRequest

参数:
url (String) : 发送请求的URL地址。
data (Map) : (可选)要发送给服务器的数据,以 Key/value 的键值对形式表示。
callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。
type : (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

heardy 2011-01-27
  • 打赏
  • 举报
回复
(String)request.getParameter("json")

打印的是什么信息
heardy 2011-01-27
  • 打赏
  • 举报
回复
request.getParameter("json")获取的是Object?
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
对于你们这回复很无语
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
前台json传到后台用字符串接收,显示的格式是 [object object]!如何解析?
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
哈,我无语,我说话够客气了,不过你根本没看题目啊,前台传json到后台,你知道显示是什么样子的吗?
如果是你定义的json={name:'aaa',age:18},那我也就没问题了?[object object]
jimily2008 2011-01-27
  • 打赏
  • 举报
回复
如果你不想用第三方包的话。我想还是进行字符串解析比较好。。循环递归一下就好了。
heardy 2011-01-27
  • 打赏
  • 举报
回复
String js = "{name:'aaa',age:18}";
String regex = ":|,|'|\\}|\\{";
System.out.println(regex);
String[] jsona = js.split( regex );
System.out.println(jsona[1]);
System.out.println(jsona[3]);
System.out.println(jsona[5]);
System.out.println(jsona[6]);
heardy 2011-01-27
  • 打赏
  • 举报
回复
String js = "{name:'aaa',age:18}";
String json = js;
json = json.substring( 1 );
System.out.println(json);

int i = json.indexOf( ":" );
String name1 = json.substring( 0, i);

System.out.println(name1);

json = json.substring( i+1 );
System.out.println(json);

i = json.indexOf( "," );
String value1 = json.substring( 0, i);
System.out.println(value1);
value1 = json.substring( 1,value1.length()-1 );
System.out.println(value1);


请说话客气点
这个是比较繁琐的实现 截取

我用别的简单的在试下 发出来
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
1楼2楼的回答属于我没说清楚,不能用第三方包,3楼属于每看题,无视!!
希望有高手些个自己解析的
heardy 2011-01-27
  • 打赏
  • 举报
回复

var options = {
url : 'XX.do',
data : {
name:nameValue;
age:ageValue;

},
async : false, //采用同步方式请求
type : 'POST',
dataType : 'json',
error : function(e) {
alert('error');
},
success : function(data){
alert('执行成功');
}
};
$.ajax(options);


如果前台用jQuery 进行Ajax传输 可以这样 后台就直接request对应值就OK了
逍遥庄主 2011-01-27
  • 打赏
  • 举报
回复
应该 可以用 request.getParameter("json")得到一个字符串吧
如果是"{name:'aaa',age:18}"这样一个字符串的话
可以用 org.json.JSONObject类
JSONObject json = new JSONObject(request.getParameter("json"))
heardy 2011-01-27
  • 打赏
  • 举报
回复
可找jar包 有提取值的

也可以自己写解析类 进行解析
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
很谢谢heardy ,但是你反驳的观点很不正确啊,直到27楼才正确啊!你教人的时候要加油哈!
哈哈..
nazhawenxi 2011-01-27
  • 打赏
  • 举报
回复
我想法错了,我的传法是错误的!!原来我只记得以前dwr直接调用后台方法的时候直接传json,正好可以和方法里面的对象参数相对应!
加载更多回复(10)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧