Json的使用方式

基于FastLIO2与TEB算法的机器狗自主导航系统实战 本文详细介绍了如何为机器狗构建一套基于FastLIO2与TEB算法的自主导航系统。通过整合FastLIO2激光惯性里程计实现精准定位,并采用TEB局部规划器进行灵活路径规划与动态避障,解决了传统方案在复杂地形下反应慢、易碰撞的问题。文章提供了从环境搭建、算法部署、地图转换到系统调试的完整实战指南,帮助开发者实现机器狗的稳健自主行走。 阅读详情

Json在传输数据的时候要比XML效率高一些
简介:JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
对象格式
一本书
书名
简介
Java中的格式

class Book{
private String name;
private String info;

get/set...
}
Book b = new Book();
b.setName(“三国演义”);
b.setInfo(“争天下”);

js的写法

js:
var b = new Object();
b.name = "三国演义";
b.info = "争天下";

XML的写法

XML:
<book>
<name>金苹果</name>
<info>种苹果</info>
</book>

JSON的写法
大括号就表示一个对象

JSON:
{
"name":"金苹果",
"info":"种苹果"
}

使用规则
一个对象, 由一个大括号表示.
括号中 描述对象的属性 . 通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解
析.)
键值对的值, 可以是JS中的任意类型的数据

数组格式
在JSON格式中可以与对象互相嵌套 [元素1,元素2…]
例如

{
"name":"张无",
"age":18,
"pengyou":["张三","李四","王二","麻子",{
"name":"赵四",
"info":"魔性"
}],
"heihei":{
"name":"大长刀",
"length":"40m"
}
}

例如找一个免费的API开放平台
https://wx.jdcloud.com/market/datas/26/10610
然后找一个json解析平台
https://www.bejson.com/jsonviewernew/
然后点开Json视图,解析如图层级关系如图
在这里插入图片描述
JSON解析主要有两种一种是Google的Gson,另一种是阿里的FastJson
一般Gson的效果会好一点‘
JSON解析的作用’

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

因为Java官方没有封装相应的jar包,所以需要自己下载相应的包导入,在博客的下载链接中有一个json的压缩包,我已经上传 了需要的可以下载里边包含了Gson的包和FastJson的jar包

Gson使用方式

将对象转换为JSON字符串
转换JSON字符串的步骤:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json = new Gson().toJSON(要转换的对象);
    案例:
    导入json jar包的方式
    在这里插入图片描述
    在这里插入图片描述
    没有lib文件夹的情况下先创建一个lib文件夹然后导入jar包
    在这里插入图片描述
    在这里插入图片描述
    将对象转换为JSON字符串
    在这里插入图片描述
import com.google.gson.Gson;

public class Demo {
    public static void main(String[] args) {
      //1创建Gson对象
        Gson g=new Gson();
        // 2 转换
        Book b=new Book(1,"三国演义","三国纷争");
        String s=g.toJson(b);
        System.out.println(s);

    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

将字符串转换回对象去
在这里插入图片描述

import com.google.gson.Gson;

public class Demo {
    public static void main(String[] args) {
      //1创建Gson对象
        Gson g=new Gson();
        // 2 转换  将字符串转换回对象去  "id":1,"name":"三国演义","info":"三国纷争"
      /*  Book b=new Book(1,"三国演义","三国纷争");
        String s=g.toJson(b);
        System.out.println(s);*/
       Book b=g.fromJson("{\"id\":1,\"name\":\"三国演义\",\"info\":\"三国纷争\"}",Book.class);
        System.out.println(b.getName());
    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}
import com.google.gson.Gson;

public class Demo {
    public static void main(String[] args) {
      
        //如果对象只使用一次,那么就可以用匿名类型
        Book b=new Book(1,"三国演义","三国纷争");
        String s=new Gson().toJson(b);
        System.out.println(s);
    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

转集合的方式,案例
在这里插入图片描述

import com.google.gson.Gson;

import java.util.HashMap;

public class Demo {
    public static void main(String[] args) {

        //将字符串转换为集合的形式
       Gson g=new Gson();
       //2转换
      HashMap data=g.fromJson("{\"id\":1,\"name\":\"三国演义\",\"info\":\"三国纷争\"}", HashMap.class);
        System.out.println(data.get("name"));
    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
 }

在对象中添加一个数组此时,在转的时候会转成ArrayList
,

在这里插入图片描述

import com.google.gson.Gson;

import java.util.HashMap;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        //将字符串转换为集合的形式
       Gson g=new Gson();
       //2转换  {"id":1,"name":"三国演义","info":"三国纷争,","page":["床前明月光","疑是地上霜"]}
      HashMap data=g.fromJson("{\"id\":1,\"name\":\"三国演义\",\"info\":\"三国纷争,\",\"page\":[\"床前明月光\",\"疑是地上霜\"]}", HashMap.class);
        System.out.println(data.get("page"));
        System.out.println(data.get("page").getClass());
        List page= (List) data.get("page");
        System.out.println(page.get(1));
    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

使用FastJson
转换为字符串,再由字符串转换为对象

import com.alibaba.fastjson.JSON;
public class Demo {
    public static void main(String[] args) {
        //FastJson 的使用
       Book b=new Book(10,"水浒传","英雄好汉");
        String json=  JSON.toJSONString(b);
        System.out.println(json);
        //转换成对象
        JSON.parseObject("{\"id\":10,\"info\":\"英雄好汉\",\"name\":\"水浒传\"}",Book.class);
        System.out.println(b.getName());
    }
}
class  Book{
    private int id;
    private   String name;
    private String info;
    public Book(int id, String name, String info) {
        this.id = id;
        this.name = name;
        this.info = info;
    }

    public Book() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

把数组转换为集合

import com.alibaba.fastjson.JSON;

import java.util.List;

public class Demo {
    public static void main(String[] args) {
        //FastJson 的使用

        //转换为集合  ["123", "456" ,"789"]
        List string=JSON.parseArray(" [\"123\", \"456\" ,\"789\"]",String.class);
        System.out.println(string.get(1));
    }
}

【AI Agent】Hermes Agent解析 Hermes Agent:一个具备持久化学习能力的开源AI Agent框架 核心特点: 突破传统Agent的"无状态困境",通过记忆系统(SQLite+FTS5全文检索)实现跨会话经验积累 支持200+模型自由切换,11种模型家族和15+平台接入 五层架构设计(入口层、编排层、推理层、工具执行层、存储层)实现平台无关性 47+内置工具和动态技能沉淀机制,支持从任务执行中自动提炼可复用Skill 独特的四层记忆体系(会话/每日/长期/向量索引)和辩证式用户建模 与传统Agent对比: 具备自我进化能力,通过A 阅读详情

相关推荐

用AI生成React/Vue页面?实测Locofy等5款工具,教你选最适合的

本文深度评测了2024年五大AI生成前端页面工具,包括Locofy、Builder.io等,从代码质量、可视化编辑器成本到企业级落地方案进行全面分析。通过实测数据和实战案例,揭示如何利用AI生成技术高效创建React/Vue页面,提升开发效率并优化性能。

m5n6o7的博客 606

初识Json学习笔记

2019/5/15 Json简介 Json全称为JavaScirpt ObjectNotation,他是一种轻量级的数据交换格式,易于阅读,编写和解析。一般用于网络传输。 Json中主要的类 Json::Value:可以表示所有支持的类型,如int,double,string,object,array等。其包含节点的类型判断(isNull,isBool,isInt,IsArray,isMember...

weixin_44572041的博客 1068

五分钟搞懂游戏开发中的抗锯齿算法

常见抗锯齿算法总结锯齿由来抗锯齿算法SSAAMSAACSAA 锯齿由来 场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组,这是计算机屏幕产生锯齿的原因。在计算机处理图形的过程中(渲染管线了解一下),有一个非常重要的阶段,就是光栅化,光栅化主要的作用是将顶点数据的不连续性通过插值计算,将两个顶点之间不存在的点进行弥补,然后实现到屏幕像素点上的一一映射。如图,现在要在屏幕上绘制一...

绿洲守望者 1万+

JS删除JSON数组中的元素的两种方法:delete和splice

最近的需求中,需要从JSON数组中删除元素,之前不太了解,特地查了一下,总结一下: splice(startIndex,count);这个方法用于从数组的第startIndex位开始,删除count个元素。 说明: 1、满足条件的元素直接被删除,脚标重信排 2、startIndex应该可以为任意数字和字符(用应该是因为我只字符我只是测了一两个,具体规律不清楚)。若为数字则自动调用parse...

yancie_的博客 3万+

精确时钟同步协议ptp/IEEE-1588v2协议-------(1)简介

ptp, 1588V2, IEEE-1588, 精确时钟同步协议

meihualing的专栏 5356

【PT+Arduino+OneNET基础教程1】PacketTracer中MCU芯片编程教程(零基础入门)

PacketTracer软件内MCU芯片编程入门 零基础

ChloeMax_的博客 9453

Jansson库中的json_delete函数

大概意思是不要调用json_delete,当引用计数到0时,会自动调用json_delete,问题解决。自己用了这个json_delete函数,发现通不过编译,网上也找不到相关的说明。最近有读写json文件的需求,在网上找到一段代码。源码中告诉我们,不要直接调用这个函数。,发现找不到这个函数。查看源码,发现有注释。...

qq_16457843的博客 693

《C++等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《C++等级认证CCF-GESP真题解析》🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级认证》C++编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,欢迎订阅!

人生就是一个不断学习的过程 6287

HttpDelete携带json参数(body)的方法

1.Httpclient 中常用的请求有2个,HttpPost 和 HttpGet,一般 HttpPost 对传参 Json 的处理是: HttpPost post = new HttpPost(url); post.setEntity(new StringEntity(jsonString)); 2.但HttpDelete携带json参数时,不支持setEntity方法,原因是: 在Ht...

星痕の博客 6361

第七天 Labview进阶(7.3 Teststand简单使用)

TestStand是NI开发的自动化测试管理软件,支持多语言编程和硬件集成,广泛应用于电子产品和工业测试。安装时需注意版本选择,2022版支持离线安装。使用步骤包括:1)创建测试序列文件;2)插入测试动作并配置参数(如选择VI路径、设置变量);3)添加条件判断和延时控制;4)执行测试序列时具备流程控制功能,如失败步骤自动跳过后续测试。该软件能有效提升测试效率与准确性,通过可视化操作实现复杂测试流程管理。

weixin_38637405的博客 1728

使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示

使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示

Robot_PLC_HMI_Automation 1912

关于json对象的删除

摘自 http://www.cnblogs.com/wuyifu/p/3424621.html 一个json对象在后台产生了,但是有些数据可能无效或者不合法,所以需要在前台作些例外处理,比如删除掉。json的删除有很多种,直接用过 delete json对象方式。举例如下Js代码 var columns = [ {name:"bigTitle",caption:repor...

weixin_30532369的博客 504

手把手教你学simulink(28.2)--四旋翼无人机景示例:基于自抗扰控制(ADRC)的无人机姿态稳定系统

通过上述代码实现,您可以逐步创建和搭建一个基于自抗扰控制的无人机姿态稳定系统。该系统能够实时估计和补偿外部扰动及模型不确定性,确保无人机姿态稳定。自抗扰控制具有较强的鲁棒性和适应性,能够在存在不确定性和扰动的情况下提供快速且精确的控制性能。Simulink提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。无人机动力学建模:建立无人机的六自由度(6-DOF)动力学模型,包括位置、速度、姿态角和角速度。自抗扰控制器设计。

MHD0815的博客 499

JSON的一些主要特点和使用方式

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于通过网络传输数据。JSON采用易于人们阅读和编写的文本格式,同时也易于机器解析和生成。尽管JSON源自JavaScript语言,但它已经成为一种独立于语言的数据格式,因此可以被许多编程语言支持和使用。JSON使用键值对的方式组织数据,数据之间以逗号分隔,而键和值之间以冒号分隔。数据可以是字符串、数字、布尔值、数组、对象等。这种简单的结构使得JSON易于理解和使用。"age": 30,

weixin_50993868的博客 3327

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JSON的使用方式及教程

json的使用方式教程笔记

qq_55880012的博客 2176

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

使用HttpClient请求方式JSON和JSON(FROM)

使用HttpClient请求方式JSON和JSON(FROM)请求方式 : JSON(FROM)请求方式 : JSON 请求方式 : JSON(FROM) public Map httpResponseFrom(String url, Map<String, String> params){ CloseableHttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost

weixin_43087262的博客 455

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

超详细JSON教程!那些Python中JSON的使用方式都在这里

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集,但JSON是独立于语言的,很多编程语言都支持JSON格式数据的生成和解析。

小白的大数据之旅的博客 9809

vue 使用json文件的三种方式

方式一:在vue文件里import name froom "路径 “ 引入 方式二: 在vue文件通过require引入 let data = require('路径') 方式三:将json文件放到 静态资源文件夹 public 通过ajax获取使用 这个适用于项目发布后通过json文件更改一些配置操作 ...

hello world 7837

使用XML方式与JSON方式返回数据

public class VideoService {  /**   * 以XML方式返回获取最新的资讯   * @return   * @throws Exception   */  public static List getLastVideos() throws Exception  {   //确定请求服务器的地址   //注意在Android模拟器中访问本机服务器时

水迹专栏 597

android 使用三种方式解析网络JSON

第一种是使用原生态解析json,第二种用的是Google的gson解析(要导入第三方jar包),第三种是阿里巴巴的fastjson。下面是实现的具体代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {

cnhn_ghq的博客 646

使用bulk方式将json文件数据导入ES

使用json文件可以给es中导入数据,10万条左右的数据可以一次导入,数量太大时导入就会报错。大数量的到导入还是需要用bulk方式。 accounts.json文件格式如下: {"index":{"_id":"1"}} {"title":"learn es","content":"work hard"} {"index":{"_id":"2"}} {"title":"learn hadoop","content":"work hard"} ... 如果...

攻城狮Kevin 1497

MySql的JSON使用方式

本文整理了本人在工作过程中对json的使用方法。在json的使用过程中碰到了各种问题。分享给广大业务开发者,希望有所帮助。json mysql json_extract

a34ErxV的博客 376

vue使用json最简单的两种方式

第一种: 首先我项目是在 webpack 下搭建的vue项目 在public文件夹下创建jsonTest.json json 格式的数据如下: { “innerList”: [ {"attr1":"内部数据1","attr2":"内部数据2",...}, {"attr1":"内部数据1","attr2":"内部数据2",...}, .... ] } 在某一组件内: .........

qq_40109570的博客 790

模拟post提交数据-使用json方式;使用form-data按钮方式

【代码】模拟post提交数据-使用json方式;使用form-data按钮方式。

克里斯蒂亚诺更新的博客 555

java分割json,浅谈在Java中JSON的多种使用方式

1. 常用的JSON转换JSONObject 转 JSON 字符串JSONObject json = new JSONObject();jsonObject.put("name", "test");String str = JSONObject.toJSONString(json);JSON字符串转JSONString str = "{\"name\":\"test\"}";JSONObject ...

weixin_34233539的博客 1980

Java中可以使用多种方式将XML转换为JSON格式,其中常用的方式有两种:使用json-lib和使用org.json

Java中可以使用多种方式将XML转换为JSON格式,其中常用的方式有两种:使用json-lib和使用org.json。使用json-lib需要引入相应的jar包,而使用org.json则只需要引入两个jar包即可。使用json-lib和org.json都可以完成Java对象和JSON的相互转换,但是它们的使用方法和特点略有不同。需要注意的是,json-lib支持更多的数据类型,如Date、Calendar等,而org.json只支持基本数据类型和String类型。

博客域名:borter.blog.youkuaiyun.com 3957
上一篇: Java 服务器与客户端建立连接
下一篇: MySQL的必须了解的知识
凌晨里的无聊人
博客等级 码龄8年 2320粉丝 206原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨里的无聊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值