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. Flink的高可用集群环境

    Flink的高可用集群环境 Flink简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能. 因现在主要Flink这一块做先关方面的学习, ...

  2. Django websocket 长连接使用

    下载  pip install dwebsocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客 ...

  3. mysql 数据库学习笔记一

    一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...

  4. ASP.NET MVC 企业级实战

    1.泛型 public class List<T>{ } 当定义泛型类的实例时,必须指定这个实例所存储的实际类型,泛型允许程序员将一个实际的数据类型规约延迟至泛型的实例被创建时才确定,泛型 ...

  5. javaWeb使用百度编辑器上传图片的问题

    1.先看项目结构(访问网站:http://localhost:8080/baidu_edit/) 2.部署6个jar包 1)先将jsp/lib的6个jar包放入到WEB-INF/lib文件夹中 2)然 ...

  6. python 内置函数详解

    懒得写了  参考1:https://www.cnblogs.com/xiao1/p/5856890.html 参考2:https://www.runoob.com/python/python-buil ...

  7. OA系统开发人事模块关于请假跨月的处理

    前言:其实对于跨月的数据单独处理是不难的,但是对于后台显示页面,肯定不是单纯拼接一个where条件的,因此在我的项目也是如此,并不能够用普遍的方法来处理,此时就想尽量用简单的方法来处理跨月数据的准确性 ...

  8. 代理模式-JDK Proxy(Java实现)

    代理模式-JDK Proxy 使用JDK支持的代理模式, 动态代理 场景如下: 本文例子代理了ArrayList, 在ArrayList每次操作时, 在操作之前和之后都进行一些额外的操作. Array ...

  9. Excel表格中依据某一列的值,将这列中一样的数据放在一个文件中。

    一需求:按照标题C的内容,一样的数据整理到一个文件中. 二.操作: 1.atl+F11弹出vb窗口 2.点击       插入===>模块   ,复制以下代码,注意这是一个表头为三行的函数(保存 ...

  10. 虚拟机14安装kail Linux

    需要准备虚拟机和kail Linux镜像 1. 2.选择镜像安装,并且添加你的kail Linux镜像文件. 3. 4.在这里需要修改虚拟机名称,也可以不修改就用默认,然后在修改kail Linux的 ...