JSON字符串转换为Map

JSON字符串转换为Map转自:http://blog.csdn.net/zknxx/article/details/52281220本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下:packagecom.zkn.newlearn.json;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSON…

大家好,又见面了,我是你们的朋友全栈君。

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下:

package com.zkn.newlearn.json;  
  
import com.alibaba.fastjson.JSON;  
import com.alibaba.fastjson.JSONObject;  
import java.util.Map;  
  
/** 
 * JSON字符串自动转换 
 * Created by zkn on 2016/8/22. 
 */  
public class JsonToMapTest01 {  
  
    public static void main(String[] args){  
  
        String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";  
        //第一种方式  
        Map maps = (Map)JSON.parse(str);  
        System.out.println("这个是用JSON类来解析JSON字符串!!!");  
        for (Object map : maps.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());  
        }  
        //第二种方式  
        Map mapTypes = JSON.parseObject(str);  
        System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");  
        for (Object obj : mapTypes.keySet()){  
            System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));  
        }  
        //第三种方式  
        Map mapType = JSON.parseObject(str,Map.class);  
        System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");  
        for (Object obj : mapType.keySet()){  
            System.out.println("key为:"+obj+"值为:"+mapType.get(obj));  
        }  
        //第四种方式  
        /** 
         * JSONObject是Map接口的一个实现类 
         */  
        Map json = (Map) JSONObject.parse(str);  
        System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");  
        for (Object map : json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        //第五种方式  
        /** 
         * JSONObject是Map接口的一个实现类 
         */  
        JSONObject jsonObject = JSONObject.parseObject(str);  
        System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");  
        for (Object map : json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        //第六种方式  
        /** 
         * JSONObject是Map接口的一个实现类 
         */  
        Map mapObj = JSONObject.parseObject(str,Map.class);  
        System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");  
        for (Object map: json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        String strArr = "{
  
  {\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +  
                "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";  
       // JSONArray.parse()  
        System.out.println(json);  
    }  
}  

parse 和 parseObject 区别 :(这是原作者回答的别人的提问

JSON.parse() 返回的结果是 Object 对象,JSON.parseObject() 的返回结果可以是 JSONObject (一个Map的实现类) ,也可以是指定的类型(可以用来处理泛型).。

JSONObject 继承了JSON,JSONObject 中没有定义 parset 的方法,它是通过调用父类(JSON)中的parse方法进行解析的。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151651.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《阿里巴巴Java开发手册》扫描插件正式发布–插件安装和使用分析

    本博文始发地址在公司论坛::《阿里巴巴Java开发手册》扫描插件正式发布–插件安装和使用分析“不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!”阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。下面分享这个插件,希望更多的人使用,提高我们的代码/编码的规范!

    2022年2月26日
    48
  • strcpy和memcpy的差别

    strcpy和memcpy的差别

    2022年2月7日
    62
  • 超级详细 倍增法 实现 LCA

    描述:倍增法用于很多算法当中,通过字面意思来理解就是翻倍增加嘛,这里着重讲使用倍增法在树中的应用求LCA;LCA是啥呢 在一棵树当中 lca表示的是两个节点最近公共祖先, 大家看这课树哈节点5,3的lca就是1,13和11的LCA就是6。节点8,12的lca就是8,那么我们如何通过被增来实现LCA呢。首先大家看下这个数组grand[x][i],这个数组表示标号为x节

    2022年4月9日
    43
  • s3c2440时钟频率

    s3c2440时钟频率分类:LINUX++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/mr_raptor/article/details/6555734++++++++++++++++++++++++++++++++++++++++++系统时钟MINI2440开发板

    2022年6月14日
    24
  • git push的时候每次都要输入用户名和密码的问题解决

    git push的时候每次都要输入用户名和密码的问题解决

    2021年10月27日
    42
  • VS2008 安装失败(“Web 创作组件”无法)

    VS2008 安装失败(“Web 创作组件”无法)今天安装VS2008时出现了问题,怎么都无法安装成功。于是在网上找答案,还真给找到了。贴出来大家学习一下。VisualStudio2008中文正式版可以从微软网站下载试用了,因为之前用英文版感觉比2005快一些,虽然.NETFramework3.5有点庞大,但还是可以选择开发2.0的项目,因此打算立马安装。试用期为三个月,足够长了,因此安装TeamSystem版本,体验

    2022年9月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号