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. P1238 走迷宫

    原题链接 https://www.luogu.org/problemnew/show/P1238 为了巩固一下刚学习的广搜,练一下迷宫类型的题 不过这道题我用的深搜..... 看问题,我们就知道这道题 ...

  2. jq的on click 事件在苹果下无效

    据说苹果对于点击的对象,拥有cursor:pointer这个样式的设置才算 参考地址:https://blog.csdn.net/yuexiage1/article/details/51612496

  3. webpack中跨域请求proxy代理(vue与react脚手架不同设置方法)

    因为浏览器有同源策略的限制,导致我们在本地开发的时候,请求不同域名的接口会存在跨域的问题 解决跨域的问题有很多方式,这里主要整理下代理模式来解决跨域的问题 代理方式能够实现的机制大体: 本地服务器 - ...

  4. 【WebSocket】WebSocket介绍

    1.背景 在WebSocket出现之前客户端向服务器发出请求是通过http协议实现的,而http协议有个特点是通行请求只能由客户端发起,然后服务端响应查询结果,HTTP 协议没法让服务器主动向客户端推 ...

  5. (二叉树 BFS) leetcode993. Cousins in Binary Tree

    In a binary tree, the root node is at depth 0, and children of each depth knode are at depth k+1. Tw ...

  6. java 键盘录入(Scanner)

    键盘录入(Scanner)• 键盘录入数据概述– 我们目前在写程序的时候, 数据值都是固定的, 但是实际开发中, 数据值肯定是变化的, 所以, 把数据改进为键盘录入, 提高程序的灵活性.• 如何实现键 ...

  7. Httpclient发送json请求

    一.Httpclient发送json请求 public String RequestJsonPost(String url){    String strresponse = null;    try ...

  8. [Android] Android 最全 Intent 传递数据姿势

    我们都是用过 Intent,用它来在组件之间传递数据,所以说 Intent 是组件之间通信的使者,一般情况下,我们传递的都是一些比较简单的数据,并且都是基本的数据类型,写法也比较简单,今天我在这里说的 ...

  9. IDEA2019激活码集合(非盈利)

    56ZS5PQ1RF-eyJsaWNlbnNlSWQiOiI1NlpTNVBRMVJGIiwibGljZW5zZWVOYW1lIjoi5q2j54mI5o6I5p2DIC4iLCJhc3NpZ25lZ ...

  10. 深入web的请求过程

    一.深入web的请求过程 1.1.B/S网络架构概述 · 从前端到后端,都基于应用层协议HTTP来交互数据.一个请求就对应了一个操作,完成操作之后就断开了连接.基于这样的特点可以用来满足海量的用户的操 ...