2021-03-26

JSON解析使用

简介:JSON(JavaScript Object Notation),JS对象简谱,是一种轻量级的数据交换(客户端和服务器)格式。

那么,为什么要使用JSON?JSON有什么作用呢?
假设,现在有一本书,你需要来描述它,
java这样写,
class Book{
private String name;
private String info;
get/set…
}
Book b = new Book();
b.setName(“母猪的产后护理”);
b.setInfo(“养猪的”);

js呢
var b = new Object();
b.name = “母猪的产后护理”;
b.info = “养猪的”;
XML:

母猪的产后护理
养猪的/info>

那JSON怎么做呢 对json来说 {} 这就算个对象
所以
JSON:
{
“name”:“金苹果”,
“info”:“种苹果”
}
所以,json中,一个对象, 由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
键值对的值, 可以是JS中的任意类型的数据

那么jSON的作用是什么呢?

1.将Java中的对象 快速的转换为 JSON格式的字符串.
2.将JSON格式的字符串, 转换为Java的对象.

JSON里用的最多的最常用的有着两种,谷歌的Gson以及阿里的Fastson,温馨提示:最好使用最新版本,以防高危漏洞

Gson
1.引入jar包(https://search.maven.org/artifact/com.google.code.gson/gson/2.8.6/jar)
2.在需要转换Java对象的位置, 编写如下代码: 对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例:

import com.google.gson.Gson;

public class Demo4 {
    public static void main(String[] args) {
//        Gson g = new Gson();
//        Book b = new Book("1","西游记","取经的故事");
//        String s = g.toJson(b);
        String s = new Gson().toJson(new Book("1","西游记","取经的故事"));
        System.out.println(s);
    }
}

将字符串转换为java对象

public class Demo4 {
    public static void main(String[] args) {
        Book b = new Gson().fromJson("{\"id\":\"1\",\"name\":\"西游记\",\"info\":\"取经的故事\"}",Book.class);
        System.out.println(b.getId());

    }
}

Fastjson
1.引入jar包
(https://github.com/alibaba/fastjson)
2. 在需要转换JSON字符串的位置编写如下代码即可: String json=JSON.toJSONString(要转换的对象);

public class Demo4 {
    public static void main(String[] args) {
        Book b = new Book("1","长夜行","吃软饭的故事");
        String s = JSON.toJSONString(b);
        System.out.println(s);
    }
}

将字符串转换成对象
在需要转换Java对象的位置, 编写如下代码: 类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);

public class Demo4 {
    public static void main(String[] args) {
        Book book = JSON.parseObject("{\"id\":\"1\",\"info\":\"吃软饭的故事\",\"name\":\"长夜行\"}", Book.class);
        System.out.println(book);
        //["111","222","333"]
        List<String> list = JSON.parseArray("[\"111\",\"222\",\"333\"]", String.class);
        System.out.println(list.get(2));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
最新发布
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值