博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【json的使用】
阅读量:4932 次
发布时间:2019-06-11

本文共 1721 字,大约阅读时间需要 5 分钟。

1、json格式字符串:

代码

  1. /** 操作成功 200 */  
  •     public static final String RESULT_SUCCESS = "{\"code\":\"200\",\"message\":\"成功!\"}";

复制代码

2、解析json字符串:

代码

  1. JSONObject object = JSONObject.fromObject(RESULT_SUCCESS);  
  • String code = object.getString("code");  
  • String message = object.getString("message");

复制代码

3、解析java对象为json字符串:

代码

  1. Entity entity = new Entity();  
  • JSONObject params = JSONObject.fromObject(entity);  

复制代码

对象解析后的结果和第一个例子的格式一样,为:{\"对象属性\":\"属性值\"}

解析对象时会遇到某几个对象属性并不像被解析,那么就需要过滤掉。

4、过滤对象属性:

代码

  1. JsonConfig config = new JsonConfig();// 建立过滤器  
  • config.setIgnoreDefaultExcludes(false);// 设置默认忽略  
  • config.setExcludes(Commons.NEED_FILTER_PROPERTIES);// 需要过滤的对象属性(不会返回给前台)

复制代码

Commons.NEED_FILTER_PROPERTIES为我定义的静态数组:

代码

  1. /** 需要过滤的对象属性 */  
  • public static final String[] NEED_FILTER_PROPERTIES = new String[] {  
  •     "companyProvinceName", "companyCityName", "createTime",  
  •     "lastLoginTime", "userState", "loseType", "pageInfo" };  

复制代码

代码

  1. JSONObject params = JSONObject.fromObject(tPayUserDetail, config);// 注册过滤器并解析json  
  • result = "{\"code\":\"200\",\"message\":\"成功!\",\"data\":\"" + params.toString() + "\"}";

复制代码

2015-6-10 7:44 更新, 昨天整理的时候没有注意, 其实上面那个是错误的,

代码

  1. {\"code\":\"200\",\"message\":\"成功!\",\"data\":\"" + params.toString() + "\"}";  

复制代码

这个比较不容易理解, 因为这个jon字符串怎么看它的格式都正确,似乎没有不妥之处, 但是,这只是按       照惯性思维理解的,如果我把这行代码转换一下:

       {\"code\":\"200\",\"message\":\"成功!\",\"data\":\""{"paramA":"a","paramB":"b"}"\"}

    注意标红部分,这段代码就是上面的params.toString()后的字符串,也是一个json格式的字符串,可能有      些人会觉得,json字符串中嵌套一层字符串也是可以的 啊!没错, 是可以的的, 但前提是你如何嵌套,       以   及嵌套的格式。我先把上面那行代码改一下:

       {\"code\":\"200\",\"message\":\"成功!\",\"data\":"{"paramA":"a","paramB":"b"}"}

    现在这个json格式的字符串才算正确的,你能看到哪儿改变了吗?要细看哦

    粗略整理, 有不对的地方, 请各位雅正~!

    另外提供一个json校验格式化的工具:

json校验格式化工具

转载于:https://www.cnblogs.com/techfox/p/4566115.html

你可能感兴趣的文章
windows 下 gcc/g++ 的安装
查看>>
登陆后跳转到指定页
查看>>
[前端插件]为自己的博客增加打赏功能
查看>>
测试阶段的工作进度
查看>>
《将博客搬至CSDN》
查看>>
ExtJS 刷新后,默认选中刷新前最后一次选中的节点
查看>>
实现一个简单的shell(2)
查看>>
Window 常用命令
查看>>
SMTP协议学习笔记
查看>>
ubuntu18.04下安装eclipse jee
查看>>
在ASP.NET MVC中使用Web API和EntityFramework构建应用程序
查看>>
iOS OpenGL ES简单绘制三角形
查看>>
.NET Core 中正确使用 HttpClient 的姿势
查看>>
【转】Python之文件读写
查看>>
ACM-栈
查看>>
C# 泛型集合
查看>>
new和声明的不同
查看>>
Servlet
查看>>
动态链接库的隐式和显式调用
查看>>
求子数组最大值
查看>>