草庐IT

学习 JSON.parseObject 和 JSON.toJSONString 一篇文章就够了

南淮北安 2023-04-09 原文

JSON.parseObject 是将Json字符串转化为相应的对象;

JSON.toJSONString 是将对象转化为Json字符串

两者主要用于前后台的数据传输过程中

使用前需要先导入该包:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

文章目录

一、JSON.parseObject

将JSON字符串转为Bean对象

Java 对象 Student

@Data
@Accessors(chain = true)
public class Student {
    private String name;
    private int score;
}

将JSON字符串转为该对象

public class Main {
    public static void main(String[] args) {
        String jsonStudent = "{name:'yolo',score:90}";
        Student student = JSON.parseObject(jsonStudent, Student.class);
        System.out.println(student);
    }
}

二、JSON.toJSONString

是将对象转化为Json字符串

public class Main {
    public static void main(String[] args) {
        Student student = new Student().setName("yolo").setScore(98);
        String s = JSON.toJSONString(student);
        System.out.println(s);
    }
}

三、JSON.parseObject 的其他几种使用

示例1:str = “{“name”:“Yolo”,“Address”:“Beijing”}”;

public class Main {
    public static void main(String[] args) {
        String str = "{\"name\":\"Yolo\",\"Address\":\"Beijing\"}";
        JSONObject jsonObject = JSON.parseObject(str);
        System.out.println(jsonObject.toString());
        System.out.println(jsonObject.getString("name"));
        System.out.println(str);
    }
}


示例2:str2 = “{“name”:“Yolo”,“Address”:“Beijing”, “data”:{“id”: 123}}”

public class Main {
    public static void main(String[] args) {
        String str2 = "{\"name\":\"Yolo\",\"Address\":\"Beijing\", \"data\":{\"id\": 123}}";
        JSONObject jsonObject2 = JSON.parseObject(str2);
        System.out.println(jsonObject2.getString("data"));
        System.out.println(JSON.parseObject(jsonObject2.getString("data")).getString("id"));
    }
}


示例3:str3 = “{“name”:“Yolo”,“Address”:“Beijing”, “data”:[{“id”: 123},{“id”: 345}]}”;

public class Main {
    public static void main(String[] args) {
        String str3 = "{\"name\":\"Yolo\",\"Address\":\"Beijing\", \"data\":[{\"id\": 123},{\"id\": 345}]}";
        JSONObject jsonObject3 = JSON.parseObject(str3);
        System.out.println(jsonObject3.toString());
        System.out.println(jsonObject3.toJSONString());
        System.out.println("data " + jsonObject3.getString("data"));
        JSONArray data = JSON.parseArray(jsonObject3.getString("data"));
        for (Object d: data) {
            System.out.println(d);
            System.out.println(JSON.parseObject(d.toString()).getString("id"));
            System.out.println(JSON.parseObject(String.valueOf(d)).getString("id"));
        }
    }
}

有关学习 JSON.parseObject 和 JSON.toJSONString 一篇文章就够了的更多相关文章

  1. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  2. ruby-on-rails - 如何使用 Rack 接收 JSON 对象 - 2

    我有一个非常简单的RubyRack服务器,例如:app=Proc.newdo|env|req=Rack::Request.new(env).paramspreq.inspect[200,{'Content-Type'=>'text/plain'},['Somebody']]endRack::Handler::Thin.run(app,:Port=>4001,:threaded=>true)每当我使用JSON对象向服务器发送POSTHTTP请求时:{"session":{"accountId":String,"callId":String,"from":Object,"headers":

  3. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  7. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  8. ruby-on-rails - Rails 渲染带有驼峰命名法的 json 对象 - 2

    我在一个简单的RailsAPI中有以下Controller代码:classApi::V1::AccountsControllerehead:not_foundendendend问题在于,生成的json具有以下格式:{id:2,name:'Simpleaccount',cash_flows:[{id:1,amount:34.3,description:'simpledescription'},{id:2,amount:1.12,description:'otherdescription'}]}我需要我生成的json是camelCase('cashFlows'而不是'cash_flows'

  9. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

  10. ruby - 使用 JSON gem 将自定义对象转换为 JSON - 2

    我正在学习如何使用JSONgem解析和生成JSON。我可以轻松地创建数据哈希并将其生成为JSON;但是,在获取一个类的实例(例如Person实例)并将其所有实例变量放入哈希中以转换为JSON时,我脑袋放屁。这是我遇到问题的例子:require"json"classPersondefinitialize(name,age,address)@name=name@age=age@address=addressenddefto_jsonendendp=Person.new('JohnDoe',46,"123ElmStreet")p.to_json我想创建一个.to_json方法,这样我就可以获

随机推荐