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格式导致无法载入...

public static String replaceBlank(String str)
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中怎么取出对象的属性值啊?的主要内容,如果未能解决你的问题,请参考以下文章

json的对象属性必须加双引号吗

json的对象属性必须加双引号吗

map中键为对象,用js将map中的键取出时,如何取出对象,以及它的属性

gson解析json集合怎么去除属性

如何将一个json数组类型的字符串转换为json数组,然后遍历数组取出json对象,最后在js中取出里面的属性?

暗黑2如何用UT给随意给装备修改属性值啊?