JSON键值对序列化和反序列化解析


Posted in Javascript onJanuary 24, 2017

什么是JSON?

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write and easy for machines to parse and generate. JSON is a text format that is completely language independent.

翻译:Json【javascript对象表示方法】,它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成,它是完全独立于语言的。

例如获取到的json串有如下片段:

“language”: { 
“q”: “Q”, 
“a”: “A” 
}

要如何将该字符串快速转化成一个可以使用的对象呢?

示例代码:

JSONObject language = obj.optJSONObject("language");
if(language !=null ){
  try {
    HashMap<String,String> nickname = new Gson().fromJson(language.toString()
    , new TypeToken<HashMap<String, String>>(){}.getType());
  }catch (Exception e){
    HashMap<String,String> nickname = null;
  }
}

以上代码可以解决。

那么反过来,如何将对象反序列化呢?

示例代码:

Map<String, Number> map = new HashMap<String, Number>();  
  map.put("int", 123);
  map.put("long", 1234567890123456789L);
  map.put("double", 1234.5678D);
  map.put("float", 1.2345F);
  Type mapType = new TypeToken<Map<String, Number>>() {}.getType();
  Gson gson = new GsonBuilder().registerTypeAdapter(Number.class
  , new NumberTypeAdapter()).create();
  String json = gson.toJson(map, mapType);

以上所述是小编给大家介绍的JSON键值对序列化和反序列化解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
把input初始值不写value的具体实现方法
Jul 04 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
JavaScript操作Oracle数据库示例
Mar 06 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
Jul 23 Javascript
ajax前台后台跨域请求处理方式
Feb 08 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 Javascript
vue实现将一个数组内的相同数据进行合并
Nov 07 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
Vue-cli 移动端布局和动画使用详解
Aug 10 Javascript
详解vue父子组件状态同步的最佳方式
Sep 10 Javascript
js自制图片放大镜功能
Jan 24 #Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 #Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 #Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 #Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 #Javascript
Jquery树插件zTree实现菜单树
Jan 24 #Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
Jan 24 #Javascript
You might like
SSI指令
2006/11/25 PHP
php 获取mysql数据库信息代码
2009/03/12 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
smarty简单应用实例
2015/11/03 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
python对url格式解析的方法
2015/05/13 Python
Python对数据库操作
2016/03/28 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
python生成随机图形验证码详解
2017/11/08 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python使用Matlab命令过程解析
2020/06/04 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
python3的pip路径在哪
2020/06/23 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
作风建设整改方案
2014/10/27 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python