fastjson json字符串转map的几种方法

这篇具有很好参考价值的文章主要介绍了fastjson json字符串转map的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;

/**
 * JSON字符串转map
 *
 */
public class JsonStr2Map {

    public static void main(String[] args){

        String str = "{\"key1\":\"悟空\",\"key2\":\"八戒\",\"key3\":\"沙僧\"}";
        //第一种
        Map maps = (Map)JSON.parse(str);
        //第二种
        Map mapTypes = JSON.parseObject(str);
        //第三种
        Map mapType = JSON.parseObject(str,Map.class);
        //第四种
        Map json = (Map) JSONObject.parse(str);
        //第五种
        JSONObject jsonObject = JSONObject.parseObject(str);
        //第六种
        Map mapObj = JSONObject.parseObject(str,Map.class);

        Map maps = (Map)JSON.parse(str);
        for (Object map : maps.entrySet()){
            System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());
        }

        Map mapTypes = JSON.parseObject(str);
        for (Object obj : mapTypes.keySet()){
            System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
        }

        Map mapType = JSON.parseObject(str,Map.class);
        for (Object obj : mapType.keySet()){
            System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
        }

        Map json = (Map) JSONObject.parse(str);
        for (Object map : json.entrySet()){
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
        }

        JSONObject jsonObject = JSONObject.parseObject(str);
        for (Object map : json.entrySet()){
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
        }

        Map mapObj = JSONObject.parseObject(str,Map.class);
        for (Object map: json.entrySet()){
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());
        }

    }
}

参考:fastjson将json字符串转化成map的五种方法 - 何其小静 - 博客园 (cnblogs.com)

源码:

第一种
Map maps = (Map)JSON.parse(str);

public abstract class JSON implements JSONStreamAware, JSONAware {

    public static Object parse(String text) {
        return parse(text, DEFAULT_PARSER_FEATURE);
    }
}

第二种
Map mapTypes = JSON.parseObject(str);

public abstract class JSON implements JSONStreamAware, JSONAware {

    public static JSONObject parseObject(String text) {
        Object obj = parse(text);
        if (obj instanceof JSONObject) {
            return (JSONObject)obj;
        } else {
            try {
                return (JSONObject)toJSON(obj);
            } catch (RuntimeException var3) {
                throw new JSONException("can not cast to JSONObject.", var3);
            }
        }
    }
}

JSONObject实现了Map,所以可以用Map接收 文章来源地址https://www.toymoban.com/news/detail-594589.html

public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler {

到了这里,关于fastjson json字符串转map的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 根据Json字符串设计对应的Java对象(使用fastjson和JSONUtil工具类验证)

    记录 :467 场景 :根据Json字符串设计对应的Java对象。使用fastjson的JSON和hutool的JSONUtil将Java对象转换为Json字符串验证。 版本 :JDK 1.8,Spring Boot 2.6.3,fastjson-2.0.33,hutool-all-5.8.12。 1.Json字符串 根据如下Json字符串设计Java对象。 2.对应Java对象 2.1Java对象ProvinceDto (1)示例代码 (2)解析代

    2024年02月11日
    浏览(39)
  • map集合转为JSON字符串

    mybatis查询返回的map集合转换为JSON,并在外面嵌套相关节点 之前有尝试过用JSONObject.put字符串方法将额外字符添加到JSON字符串 jsonobject.put(“message”, map);但是最后输出的值却不是想要的JSON字符串,会多出一些转义符,类似下面这种结构: 测来测去还是直接用fastjson中的JSON

    2024年02月16日
    浏览(33)
  • String字符串,FastJson常用操作方法

    1、创建配置环境 注意 测试的时候需要更改一下idea的设置 2、FastJson简介 3、 序列化 测试 JSON.toJSONString(序列化java对象) 4、 反序列化 5、枚举介绍 6、JSONField注解的使用 1、注解 2、作用于字段上面 3、格式化日期时间 4、指定字段不序列化 5、指定字段顺序 6、自定义序列化内容

    2024年02月21日
    浏览(45)
  • Java实现字符串排序的几种方式

    创建实体类(此处引入了lombok) 一、使用List集合中自带的sort方法(字符串的位数保持一致,不一致的情况可以在左边补0,也可以使用String.format()方法补全) 1、在对象排序中使用 2、在字符串排序中使用 二、使用Stream流(字符串的位数保持一致,不一致的情况可以在左边补

    2024年02月11日
    浏览(34)
  • js去除字符串空格的几种方式

    方法1: (最常用)全部去除掉空格  var str = \\\'  abc d e f  g \\\';         function trim(str) {             var reg = /[trfns]*/g;             if (typeof str === \\\'string\\\') {                 var trimStr = str.replace(reg,\\\'\\\');             }             console.log(trimStr)         }         trim(str) 方

    2024年02月09日
    浏览(34)
  • JAVA 字符串JSON Map 对象转化

    目录 字符串转JSON JSON 转字符串 json字符串转map 将map转成json字符串 map转对象 将对象转化成map 将对象转化成JSON Json转对象 方式一 第一步 将map 转成json字符串对象 第二步 将json字符串对象转化成对象 第一步 将对象转化成json字符串 第二步 将JSON字符串转成map 方法一:fastjson转

    2024年02月15日
    浏览(35)
  • C/C++ 中输入字符串的几种方式

    scanf,cin,getline,getchar,cin.get,cin.getline C/C++ 中字符串大致是以下两种: char a[n] 字符数组类型 string 字符串类型 scanf 只能接收一个字符数组,遇 “空格”“回车”都结束 cin 最 常用、最基本 的用法,遇 “空格”“回车”都结束 示例一:接收字符数组 示例二:接收string字

    2024年02月16日
    浏览(28)
  • Java中验证日期时间字符串是否合法的几种方式

    第一种,JDK8之前用SimpleDateFormat类 可以使用SimpleDateFormat类来验证日期时间的格式和有效性。 首先,可以创建SimpleDateFormat对象,然后使用该对象的parse()方法来验证日期时间字符串的格式和有效性。如果该方法抛出异常,则表示日期时间字符串不符合指定的格式,而如果该方法

    2024年02月04日
    浏览(40)
  • 【业务功能篇34】Java 字符串数字 左右补全0的几种方式

    业务场景: 我们在做一个单号字段设计的时候,经常需要用到这种格式,比如no2023062800001,no2023062800002,no2023062800003,单号累计递增,前缀是指定的字符串+当前日期+数字五位,不满五位左边补0 %06d的定义: 0代表前面要补的字符 6代表字符串长度 d表示参数为整数类型

    2024年02月13日
    浏览(36)
  • 常用的将Java的String字符串转具体对象的几种方式

    Java对象以User.class为例 ,注意:代码中使用到了lombok的@Data注解 以上就是常用的几种String转具体的java对象操作

    2024年04月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包