1. package com.zkn.newlearn.json;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import java.util.Map;
  5. /**
  6. * JSON字符串自动转换
  7. * Created by zkn on 2016/8/22.
  8. */
  9. public class JsonToMapTest01 {
  10. public static void main(String[] args){
  11. String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
  12. //第一种方式
  13. Map maps = (Map)JSON.parse(str);
  14. System.out.println("这个是用JSON类来解析JSON字符串!!!");
  15. for (Object map : maps.entrySet()){
  16. System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());
  17. }
  18. //第二种方式
  19. Map mapTypes = JSON.parseObject(str);
  20. System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");
  21. for (Object obj : mapTypes.keySet()){
  22. System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
  23. }
  24. //第三种方式
  25. Map mapType = JSON.parseObject(str,Map.class);
  26. System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
  27. for (Object obj : mapType.keySet()){
  28. System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
  29. }
  30. //第四种方式
  31. /**
  32. * JSONObject是Map接口的一个实现类
  33. */
  34. Map json = (Map) JSONObject.parse(str);
  35. System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");
  36. for (Object map : json.entrySet()){
  37. System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
  38. }
  39. //第五种方式
  40. /**
  41. * JSONObject是Map接口的一个实现类
  42. */
  43. JSONObject jsonObject = JSONObject.parseObject(str);
  44. System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
  45. for (Object map : json.entrySet()){
  46. System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
  47. }
  48. //第六种方式
  49. /**
  50. * JSONObject是Map接口的一个实现类
  51. */
  52. Map mapObj = JSONObject.parseObject(str,Map.class);
  53. System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
  54. for (Object map: json.entrySet()){
  55. System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
  56. }
  57. String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +
  58. "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";
  59. // JSONArray.parse()
  60. System.out.println(json);
  61. }
  62. }

JSON.parse()返回的结果是Object对象,JSON.parseObject()的返回结果可以是JSONObject(一个Map的实现类)也可以是指定的类型(可以用来处理泛型).JSONObject继承了JSON,JSONObject中没有定义parset的方法,它是通过调用父类(JSON)中的parse方法进行解析的。

JSON字符串自动转换的更多相关文章

  1. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

  2. JAVA中使用alibaba fastjson实现JSONObject、Object、Json字符串的转换

    JAVA中使用alibaba fastjson实现JSONObject.Object.Json字符串的转换 Object转JSON字符串:String jsonStr = JSONObject.toJ ...

  3. C# 对象与JSON字符串互相转换的三种方式

    C# 对象与JSON字符串互相转换的三种方式 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 关于内存对象和JSON字符串的相互转换, ...

  4. JSON字符串互相转换的三种方式和性能比较

    C# 对象与JSON字符串互相转换的三种方式 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 关于内存对象和JSON字符串的相互转换, ...

  5. Java实现JSONObject对象与Json字符串互相转换

    Java实现JSONObject对象与Json字符串互相转换 JSONObject 转 JSON 字符串 Java代码: JSONObject jsonObject = new JSONObject( ...

  6. Java对象与Json字符串的转换

    Java对象与Json字符串的转换 JSON是一种轻量级的数据交换格式,常用于前后端的数据交流 后端 : 前端 Java对象 > JsonString Java对象 < jsonStrin ...

  7. @RequestBody配合@JsonFormat注解实现字符串自动转换成Date

    2018年08月28日 16:41:15 混合动力火锅 阅读数:440   在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则 ...

  8. js-jquery-对象与JSON字符串互相转换

    1:jQuery插件支持的转换方式 代码如下: String→Object$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转 ...

  9. Json序列化与反序列化(对象与Json字符串的转换)--C#

    public class JsonHelper { #region Json序列化与反序列化 /// <summary> /// 将json转化为对象 /// (需要提前构造好结构一致的M ...

随机推荐

  1. 特殊计数序列——第一类斯特林(stirling)数

    第一类斯特林数 在这里我因为懒所以还是用\(S(n,m)\)表示第一类斯特林数,但一定要和第二类斯特林数区分开来 递推式 \(S(n,m)=S(n-1.m-1)+S(n-1,m)*(n-1)\) 其中 ...

  2. 夜神模拟器调试web APP

    前言:之前工作之余的时间自己做了一个web APP,但是都是在浏览器上调试的,这次想看看在手机上啥效果,所以下载了一个夜神模拟器 一.下载夜神模拟器 https://www.yeshen.com/ 二 ...

  3. win10更改无线网卡的MAC地址

    https://blog.csdn.net/qq_31778495/article/details/80932472 前段时间电脑蹭网被禁了MAC地址,故寻找修改MAC地址的方法. 本机配置: win ...

  4. wordpress文章链接怎么把默认的别名改成id形式和伪静态设置

    别名默认是文章标题,打不开,改成英文形式可以打开,但这样很不方便,还有可能重复.怎么改成按文章id自动生成相应链接呢 找到设置---固定链接----把默认的日期和名称型改成自定义结构把末尾的%post ...

  5. redis cluster简介和配置(3)

    前面我介绍了 redis sentinel,既然有了sentinel,为什么还要一个cluster呢?因为随着业务量的增加,不可避免要对redis进行扩容,扩容方式一般由2种:1. 垂直扩容 2. 水 ...

  6. 微信小程序授权登录

    目录 自定义授权页面 点击授权登录后出现微信自带的授权登录弹窗 <!--index.wxml--> <!-- 授权界面 --> <cover-view class='au ...

  7. 【转】Redis学习笔记(五)如何用Redis实现分布式锁(2)—— 集群版

    原文地址:http://bridgeforyou.cn/2018/09/02/Redis-Dsitributed-Lock-2/ 单机版实现的局限性 在上一篇文章中,我们讨论了Redis分布式锁的实现 ...

  8. http和https协议的区别

    内容摘自:转载注明Wosign 尊重知识产权 一 什么是HTTPS HTTPS全称为 安全超文本传输协议(Secure Hypertext Transfer Protocol)),是一个安全通信通道, ...

  9. SQL 农经权数据库问题提取_身份证号码相同(字段值出现多次);身份证号码相同但姓名不同(A字段相同,B字段不相同);发包方无承包方信息(A表有,B表无)等

    身份证号码相同(字段值出现多次) select * from CBF_JTCY a,(select CYZJHM, count(*) from CBF_JTCY  group by  CYZJHM h ...

  10. order by 的用法

    select * from emp order by sal desc  --将员工工资按照由高到低的顺序排列