json中怎么取出对象的属性值啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json中怎么取出对象的属性值啊?相关的知识,希望对你有一定的参考价值。
java代码:
DaPermitMenu dp = daPermitMenuBiz.getDaPermitMenuById((long)5); HttpServletResponse res = ServletActionContext.getResponse(); res.reset(); res.setContentType("text/html;charset=utf-8"); PrintWriter pw = res.getWriter(); JSONObject ss = JSONObject.fromObject(dp); pw.print(ss); pw.flush(); pw.close(); return null;
js代码: $.ajax( url: "<c:url value='/permission/getTResource.action' />", type: 'POST', dataType: 'text', success: function(data) alert(data); , error: function() alert('err!'); return false; );
我怎么能取出rescourceCode对应的属性值呢??财富值就这些了,不好意思啊
json中取出对象的属性值步骤如下:
1、打开vscode,创建一个测试页面JsonTest.html,用于演示在js中如何获取json对象的属性集合。
2、在测试页面中,定义一个js变量,将其赋值为json格式的字符串,用于模拟从后台返回过来的json字符串值,以及后续转换为json对象,和获取其属性集合。var json = "[\\"Col1\\": \\"Hello\\", \\"Col2\\": \\"World\\", \\"Col1\\": \\"您好\\", \\"Col2\\": \\"世界\\"]"。
3、使用js的eval函数,将json字符串的变量值,转换为json对象。var $json = eval("(" + json + ")");
4、得到json对象之后,使用for-in循环语句,得到json对象的序号,也就是,这个json对象中,还有多少个子对象。
5、因为js是弱类型的语言,并不要求json对象中的每个子对象属性都一样。所以,在得到序号之后,使用Object.keys($json[i]); 就能获取到当前json子对象的属性集合。
6、如果想要获取到json对象的每个具体的列名和值,就需要再加一个for循环,遍历列名,得到列名和值。
参考技术A 如果直接取值可以data['rescourceCode'],但是你必须一个json对象,记住是对象,你现在返回是一个文本字符串,而非对象,你应该修改你的ajax的dataType: 'json',才可以。如果是遍历json对象:用(for a in data) a为属性名,data[n]为属性值本回答被提问者采纳
数据库中数据偶尔有换行符、回车符,在java里取出数据拼JSON格式字符串的时候要出问题。
数据库的数据是难得动的,量太大了...sql语句改改倒是有可能,不过字段和语句也太多了...后台拼JSON字符串的时候有什么好办法么,难道一个属性一个属性的改过去...求教大家有没有好办法...
手工拼的StringBuilder还好,全替换一方法就行,不过有后台往前台返回的直接是JSONObject对象的情况,那些是直接一个属性一个属性的jobj.put('','')进去的,唔,难道要先把这对象转化成字符串,替换后再转回来么...话说有特殊符号能转么...
谢谢大家...
前台用的是easyui 的datagrid,如果给这个控件加载数据他会自动切掉换行符那些,但往combotree和格式化方法里面载入的时候,换行符就要破坏json格式导致无法载入...
String dest = "";
if (str!=null)
Pattern p = Pattern.compile("\\\\s*|\\t|\\r|\\n");
Matcher m = p.matcher(str);
dest = m.replaceAll("");
return dest;
去一下换行 回车符 再拼接 参考技术A 用替换属性别Replace("'", "'"),我这里是引号,或者把字符串全部加码,用的时候解码。 参考技术B 在字符串返回前处理
String info = sb.toString();
info = info.replaceAll("\r\n", "");如下:
result = result.replace("\n\r", "<br> ");
result = result.replace("\r\n", "<br> ");
result = result.replace("\t", " ");
result = result.replace(" ", " ");
result = result.replace("\"", "\\" + "\"");问题解决
不妨试试,祝你好运
可能是页面得到返回的json数据在解析的时候不能识别特殊字符串,而你在后台确实是可以看到的,两者不影响的。最终前台还是不能正常显示本回答被提问者采纳 参考技术C 只有过滤了 对那些特殊符号进行过滤
以上是关于json中怎么取出对象的属性值啊?的主要内容,如果未能解决你的问题,请参考以下文章
map中键为对象,用js将map中的键取出时,如何取出对象,以及它的属性