简爱简爱txt百度云资源源

关于前台获取json字符串值的问题
比如后台返回如下json字符串:
{&orgId&:88,&org&:{&id&:88}}
在前台,可以通过orgId获取orgId的值;但是org.id就是取不到值,而org对象在前台可以获取到。不知道什么原因,现在正在寻找中。求帮助
可能自己的问题表达方式有误,导致了歧义,不好意思哈。下面自己再把问题具体说下
后台处理好的json字符串:
前台获取数据的代码:
结果显示(组织部分为空,其他都取到值了):
show me code.
var json = {&orgId&:88,&org&:{&id&:88}};
alert(json.org.id); //88
--- 共有 1 条评论 ---
谢谢你的回答,是我问题没表述清楚,不好意思哈。不过你这个方法,我可以在其他地方借用求一个ajax json jsp样例如题
后台返回json数据
前台js进行接收 拼接jsp页面
有的发谢谢!
回答1:/** &* struts2 响应
ajax 请求,Json格式的 &* &*/public class AjaxPrintUtil { //编码格式 private static String encoding=&gbk&; /**
* 向客户端输出字符串
* @param str
* @throws IOException
static final void printString(String str) throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(&text/charset=&+encoding);
PrintWriter writer = response.getWriter();
writer.print(str);
writer.flush();
writer.close(); } /**
* 向客户端输出对象
* @param o
* @throws IOException
*/ public static final void printObject(Object o) throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(&text/charset=&+encoding);
JSONObject obj=JSONObject.fromObject(o);
PrintWriter writer = response.getWriter();
writer.print(obj.toString());
writer.flush();
writer.close(); } /**
* 向客户端输出集合
* @param list
* @throws IOException
*/ @SuppressWarnings(&unchecked&) public static final void
printList(List list) throws IOException {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(&text/charset=&+encoding);
JSONArray jsArray=JSONArray.fromObject(list);
PrintWriter writer = response.getWriter();
writer.print(jsArray);
writer.flush();
writer.close(); }}Action调用这个方法会以json格式输出到页面AjaxPrintUtil.printList(list);//集合AjaxPrintUtil.printObject(object);//对象AjaxPrintUtil.printString(object);//集合页面接收jsonfunction aa(){ $.post(url,function(msg){
var Chats = eval(&(&+msg+&)&);//回调的数据
for()//遍历下就好了
mengqingmei
回答2:探讨我在jsp
改怎么来获取数据呢
mengqing2010> 将前台json对象传到java后台
将前台json对象传到java后台
huamini & &
发布时间: & &
浏览:27 & &
回复:0 & &
悬赏:0.0希赛币
将前台json对象传入java后台
  前台json格式的数据如何传入后台
  1. 将要传入后台的数据组装成JSON格式的字符串:
  var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]
  2. 使用JQuery的ajax请求后台
  jQuery.ajax({
  type: "post",
  url: url,
  dataType : 'json',
  data : {'mydata':jsonStr},
  success: function(data,textStatus){
  alert("操作成功");
  error: function(xhr,status,errMsg){
  alert("操作失败!");
  3.后台数据的接收与解析:
  String jsonStr = request.getParameter("jsonStr");
  JSONArray jsonArray =
new JSONArray(jsonStr );
  for(int i=0;i&jsonArray.length(); i++){
  JSONObject jsonJ = jsonArray.getJSONObject(i);
  jsonJ.getInt("name");
  jsonJ.getString("age");
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&> JavaScript如何处理解析JSON数据详解
JavaScript如何处理解析JSON数据详解
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的&&名称/值&对&集合。一个对象以&{&(左括号)开始,&}&(右括号)结束。每个&名称&后跟一个&:&(冒号);&&名称/值& 对&之间使用&,&(逗号)分隔。具体细节参考
举个简单的例子:
function showJSON() {&&&&
var user =&&&&
&username&:&andy&,&&&&
&age&:20,&&&&
&info&: { &tel&: &123456&, &cellphone&: &98765&},&&&&
&address&:&&&&
{&city&:&beijing&,&postcode&:&222333&},&&&&
{&city&:&newyork&,&postcode&:&555666&}&&&&
alert(user.username);&&&&
alert(user.age);&&&&
.cellphone);&&&&
alert(user.address[0].city);&&&&
alert(user.address[0].postcode);&&&&
这表示一个user对象,拥有username, age, info, address 等属性。
同样也可以用JSON来简单的修改数据,修改上面的例子
function showJSON() {&&&&
var user =&&&&
&username&:&andy&,&&&&
&age&:20,&&&&
&info&: { &tel&: &123456&, &cellphone&: &98765&},&&&&
&address&:&&&&
{&city&:&beijing&,&postcode&:&222333&},&&&&
{&city&:&newyork&,&postcode&:&555666&}&&&&
alert(user.username);&&&&
alert(user.age);&&&&
.cellphone);&&&&
alert(user.address[0].city);&&&&
alert(user.address[0].postcode);&&&&
user.username = &Tom&;&&&&
alert(user.username);&&&&
JSON提供了json.js包,下载&后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
function showCar() {&&&&
var carr = new Car(&Dodge&, &Coronet R/T&, 1968, &yellow&);&&&&
alert(carr.toJSONString());&&&&
function Car(make, model, year, color)&&&&&&& {&&&&
this.make&& =&&&&&&
this.model&& =&&&&&&
this.year&& =&&&&&&
this.color&& =&&&&&&
可以使用eval来转换JSON字符到Object
function myEval() {&&&&
var str = '{ &name&: &Violet&, &occupation&: &character& }';&&&&
var obj = eval('(' + str + ')');&&&&
alert(obj.toJSONString());&&&&
或者使用parseJSON()方法
function myEval() {&&&&
var str = '{ &name&: &Violet&, &occupation&: &character& }';&&&&
var obj = str.parseJSON();&&&&
alert(obj.toJSONString());&&&&
下面使用prototype写一个JSON的ajax例子。
先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话&
response.getWriter().print(&{ \&name\&: \&Violet\&, \&occupation\&: \&character\& }&);&&&
再在页面中写一个ajax的请求
function sendRequest() {&&&&
var url = &/MyWebApp/JSONTest1&;&&&&
var mailAjax = new Ajax.Request(&&&&
method: 'get',&&&&
onComplete: jsonResponse&&&&
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.parseJSON();&&&&
alert(myobj.name);&&&&
prototype-1.5.1.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.evalJSON(true);&&&&
alert(myobj.name);&&&&
JSON还提供了java的jar包&&API也很简单,下面举个例子
在javascript中填加请求参数
function sendRequest() {&&&&
var carr = new Car(&Dodge&, &Coronet R/T&, 1968, &yellow&);&&&&
var pars = &car=& + carr.toJSONString();&&&&
var url = &/MyWebApp/JSONTest1&;&&&&
var mailAjax = new Ajax.Request(&&&&
method: 'get',&&&&
parameters: pars,&&&&
onComplete: jsonResponse&&&&
使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {&&&&
String s3 = request.getParameter(&car&);&&&&
JSONObject jsonObj = new JSONObject(s3);&&&&
System.out.println(jsonObj.getString(&model&));&&&&
System.out.println(jsonObj.getInt(&year&));&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
response.getWriter().print(&{ \&name\&: \&Violet\&, \&occupation\&: \&character\& }&);&&&&
同样可以使用JSONObject生成JSON字符串,修改servlet
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {&&&&
String s3 = request.getParameter(&car&);&&&&
JSONObject jsonObj = new JSONObject(s3);&&&&
System.out.println(jsonObj.getString(&model&));&&&&
System.out.println(jsonObj.getInt(&year&));&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
JSONObject resultJSON = new JSONObject();&&&&
resultJSON.append(&name&, &Violet&)&&&&
.append(&occupation&, &developer&)&&&&
.append(&age&, new Integer(22));&&&&
System.out.println(resultJSON.toString());&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
response.getWriter().print(resultJSON.toString());&&&&
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.evalJSON(true);&&&&
alert(myobj.name);&&&&
alert(myobj.age);&&&&16:46 提问
前台js接收后台传过来的json数据
前台js接收后台传过来的json数据
前台怎么将json数据根据“名称”字段进行分组,并分别显示组名和每一个组有多少条记录
按赞数排序
类似下面这样,根据name分组
var json="[{name:'class1',s:'perter'},{name:'class1',s:'daniel'},{name:'class2',s:'king'}]";
var jsonObj = eval('('+json+')');
var obj={};
for(var i=0;i&jsonObj.i++){
var key = jsonObj[i].
if(!obj[key]){
obj[key]=[];
obj[key][obj[key].length]=jsonObj[i].s;
for(var k in obj){
alert(obj[k]);
这个得一个一个的循环判断吧,你可以在后台的时候判断后,再把结果当json传过来
javascript处理json很方便
数组就是循环
function showJSON() {
var user =
"username":"andy",
"info": { "tel": "123456", "cellphone": "98765"},
"address":
{"city":"beijing","postcode":"222333"},
{"city":"newyork","postcode":"555666"}
alert(user.username);
alert(user.age);
.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
alert(user.username);
alert(user.age);
.cellphone);
alert(user.address[0].city);
alert(user.address[0].postcode);
name对应多个值是不是说name后面是一个数组,数组你就可以循环遍历获取
循环判断++1,,,,,,}

我要回帖

更多关于 简爱2011百度云 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信