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 相关文章推荐
新手入门常用代码集锦
Jan 11 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
Sep 19 Javascript
JavaScript实现分页效果
Mar 28 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
Jun 11 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
vue 虚拟dom的patch源码分析
Mar 01 Javascript
使用javascript函数编写简单银行取钱存钱流程
May 26 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
使用vuepress搭建静态博客的示例代码
Feb 14 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
vue 图片裁剪上传组件的实现
Nov 12 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
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
浅析js封装和作用域
2013/07/09 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
python中字符串前面加r的作用
2015/06/04 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
Python语言异常处理测试过程解析
2020/01/08 Python
python range实例用法分享
2020/02/06 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
python字典key不能是可以是啥类型
2020/08/04 Python
美国在线购物频道:Shop LC
2019/04/21 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
安全资金保障制度
2014/01/23 职场文书
2014年宣传工作总结
2014/11/18 职场文书
工商行政处罚决定书
2015/06/24 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
AngularJS实现多级下拉框
2022/03/25 Javascript