首页 > 其他分享 >Yaml与Json的对比

Yaml与Json的对比

时间:2024-02-27 10:57:50浏览次数:22  
标签:patient setl 配置 wsm JSON Yaml Json 对比 路由

YAML 格式:

server:  # 服务器配置
  port: 8043  # 端口号为 8043
spring:  # Spring 配置
  datasource:  # 数据源配置
    url: jdbc:mysql://localhost:3306/hbs?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&failOverReadOnly=false  # 数据库连接URL
    username: root  # 数据库用户名
    password: 123456  # 数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver  # 数据库驱动类名
  cloud:  # Spring Cloud 配置
    gateway:  # 网关配置
      routes:  # 路由配置列表开始
        - id: patient  # 第一个路由的ID
          uri: lb://wsm-patient  # 路由到 wsm-patient 服务的URI,采用负载均衡
          predicates:  # 路由的断言配置开始
            - Path=/wsm-patient/**  # 匹配路径为 /wsm-patient/**
          filters:  # 路由的过滤器配置开始
            - StripPrefix=1  # 移除请求的第一个路径段
        - id: setl  # 第二个路由的ID
          uri: lb://wsm-setl  # 路由到 wsm-setl 服务的URI,采用负载均衡
          predicates:  # 路由的断言配置开始
            - Path=/wsm-setl/**  # 匹配路径为 /wsm-setl/**
          filters:  # 路由的过滤器配置开始
            - StripPrefix=1  # 移除请求的第一个路径段
    sentinel:  # Sentinel 配置
      transport:  # Sentinel 传输配置
        dashboard: localhost:8080  # Sentinel 控制台地址
    nacos:  # Nacos 配置
      discovery:  # 服务发现配置
        server-addr: localhost:8848  # Nacos 服务器地址
  application:  # 应用程序配置
    name: wsm-setl  # 应用程序名称为 wsm-setl

JSON 格式:

{
  "server": {
    "port": 8043
  },
  "spring": {
    "datasource": {
      "url": "jdbc:mysql://localhost:3306/hbs?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&failOverReadOnly=false",
      "username": "root",
      "password": "123456",
      "driver-class-name": "com.mysql.cj.jdbc.Driver"
    },
    "cloud": {
      "gateway": {
        "routes": [
          {
            "id": "patient",
            "uri": "lb://wsm-patient",
            "predicates": [
              {
                "Path": "/wsm-patient/**"
              }
            ],
            "filters": [
              {
                "StripPrefix": 1
              }
            ]
          },
          {
            "id": "setl",
            "uri": "lb://wsm-setl",
            "predicates": [
              {
                "Path": "/wsm-setl/**"
              }
            ],
            "filters": [
              {
                "StripPrefix": 1
              }
            ]
          }
        ]
      },
      "sentinel": {
        "transport": {
          "dashboard": "localhost:8080"
        }
      },
      "nacos": {
        "discovery": {
          "server-addr": "localhost:8848"
        }
      }
    },
    "application": {
      "name": "wsm-setl"
    }
  }
}

对比:

  1. 语法

    • YAML 使用缩进和空格来表示层级关系,用-表示数组项,更加简洁易读。
    • JSON 使用大括号 {} 和方括号 [] 来表示对象和数组,语法相对繁琐一些。
  2. 可读性

    • YAML 通常比 JSON 更易读,因为它的语法更接近自然语言。
    • JSON 的语法相对更加严格,可能会显得更加冗长。
  3. 支持的数据类型

    • JSON 支持的数据类型更加丰富,包括字符串、数字、布尔值、数组、对象等。
    • YAML 也支持这些数据类型,同时还支持更多的数据结构,如日期、多行字符串等。
  4. 扩展性

    • JSON 在大多数编程语言中都有良好的支持,易于处理和解析。
    • YAML 通常需要使用专门的库来解析,有些语言的支持可能不如 JSON 那么广

标签:patient,setl,配置,wsm,JSON,Yaml,Json,对比,路由
From: https://www.cnblogs.com/mozziemy/p/18036410

相关文章

  • python3的json数据库-TinyDB效率篇
    安装了这个TinyDB库后,我突然想到一般来说python执行的速度并不算高,那这个库写文件速度如何呢?测试代码如下:fromtinydbimportTinyDBimporttime#创建数据库对象db=TinyDB('db.json')milliseconds1=int(time.time()*1000)db.insert({'type':'apple','count':......
  • python3的json数据库-TinyDB
    无意间看到TinyDB这个词汇,就去查了一下,就发现了它的官方网站这里然后就是按照他说的步骤去做。第1步安装  pip3installtinydb 安装成功后,创建一个文件名字叫做 test.py,输入下面的代码:fromtinydbimportTinyDB,Query#创建数据库对象db=TinyDB('db.json')#......
  • JavaScript 实现JSON 对象数组以某个属性进行分组处理
    JavaScript实现JSON对象数组以某个属性进行分组处理要在JavaScript中对JSON对象数组的某个属性进行分组处理,你可以使用一个对象来存储分组后的结果。下面是一个简单的示例,演示了如何对JSON对象数组中的某个属性进行分组处理:假设我们有一个JSON对象数组,每个对象都有ca......
  • lua集成cjson
    1,准备编译好的lua 2,lua加到环境变量Path下 3,下载openresty维护的cjson源码GitHub-openresty/lua-cjson:LuaCJSONisafastJSONencoding/parsingmoduleforLua 4,在cjson的CMakeList.txt加一行路径为lua源码的头文件所在文件夹 5,用MinGW编译......
  • Go 100 mistakes - #77: Common JSON-handling mistakes
       ......
  • vue页面上显示package.json中的version
    在Vue项目中,你可以使用process.env来访问构建时注入的环境变量,包括package.json中的某些字段。但是,process.env通常不会直接包含package.json的所有内容。不过,你可以通过构建脚本将version字段注入到环境变量中。以下是如何在Vue项目中获取package.json中的version字段的步骤:在......
  • vue项目npm run build的时候自动更新package.json中的version
    在vue项目最外侧新增一个addVersion.js 脚本,脚本中编写逻辑来解析当前的版本号//addVersion.jsconstfs=require('fs');constpath=require('path');constpackageJsonPath=path.join(__dirname,'package.json');try{//读取package.json......
  • Flutter 新建的Project Type类型对比
    FlutterApp构建一个标准FluterApp(统一管理模式)包含Dart层和平台层(iOS/Android)FlutterModule创建一个Flutter模块(三端分离模式)以模块的形式分别嵌入原生项目FlutterPackage纯Dart插件工程,不依赖Flutter仅包含Dart层的实现,通常用来定义一些公共库Flutter......
  • 选择最适合数据的嵌入模型:OpenAI 和开源多语言嵌入的对比测试
    OpenAI最近发布了他们的新一代嵌入模型embeddingv3,他们将其描述为性能最好的嵌入模型,具有更高的多语言性能。这些模型分为两类:较小的称为text-embeddings-3-small,较大且功能更强大的称为text-embeddings-3-large。这些模型的设计和训练方式的信息披露得很少,模型只能通过付......
  • conda报错、anconda报错:requests.exceptions.JSONDecodeError: Expecting value: line
    anconda报错,报错信息:requests.exceptions.JSONDecodeError:Expectingvalue:line1column1(char0)不能使用conda新建环境和安装library库,网上搜索相关问题后发现是之前配置的第三方源地址出现了问题。解决方法:shell中输入命令:condaconfig--remove-keychannels......