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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?「建议收藏」

    IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?「建议收藏」背景知识IP地址IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a

    2022年6月24日
    30
  • customErrors和httpErrors的区别

    customErrors和httpErrors的区别一、概念及对比customErrors 用于捕捉ASP.NET触发的错误,静态html页面或目录不存在等错误,不会被捕捉到。httpErrors 用于捕捉IIS触发的错误,IIS7+版本才支持。二、配置文件1.IIS7及以上:                 ExecuteURL”>

    2022年7月16日
    12
  • 字符串的赋值

    字符串的赋值我们可以知道 char p helo 这种字符串的赋值方式是完全没有问题的 要理解这种赋值方式 我们首先得理解双引号 特別注意 这个是双引号 不要赋值的时候给弄了个单引号 在这个语句中做了什么工作 双引号主要做了 3 个工作 分别 1 申请了空间 在常量区 存放了字符串 2 在字符串尾加上了 0 3 返回地下面是转载 学了这么多年的 C 语言 突然发现连字符串赋值都出错 chara 10 怎么给这个数组赋值呢 1 定义的时候直接用字符串赋值 chara 10 hello 注意

    2025年6月16日
    0
  • Linux下安装Tomcat 10

    Linux下安装Tomcat 10(Linux)Deepin下安装Tomcat101)在官网下载tar.gz包2)解压到目录(这里‘用户名’换成你自己的)sudotar-zxvf/home/用户名/Downloads/apache-tomcat-10.0.0.tar.gz-C/usr/local3)重命名sudomv/usr/local/apache-tomcat-10.0.0/usr/local/Tomcat4)测试sudo/usr/local/Tomcat/bin/startup.sh若失败则

    2022年6月2日
    43
  • Android studio 升级报错No toolchains found in the NDK toolchains folder for ABI with prefix

    Android studio 升级报错No toolchains found in the NDK toolchains folder for ABI with prefix

    2021年9月30日
    41
  • java实现敏感词过滤「建议收藏」

    java实现敏感词过滤「建议收藏」项目中的需要,对用户的输入进行敏感词的过滤,使用的是DFT算法,敏感词可以从数据库进行读取和配置.把代码整理了一下,可以直接使用完整工程下载地址:https://download.csdn.net/download/a897180673/10278921一共三个类,1个测试类,1个从数据库加载敏感词类,一个是实现DFT算法的类,具体的算法可以去研究.首先是从数据库加…

    2022年5月29日
    30

发表回复

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

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