PlantUML——显示JSON数据

PlantUML显示JSON数据

1、复杂示例

json 复制代码
@startjson
{
    "firstName": "John",
    "lastName": "Smith",
    "isAlive": true,
    "age": 27,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": "10021-3100"
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "office",
            "number": "646 555-4567"
        }
    ],
    "children": [],
    "spouse": null
}
@endjson

2、高亮部分

json 复制代码
@startjson
#highlight "lastName"
#highlight "address" / "city"
#highlight "phoneNumbers" / "0" / "number"
{
    "firstName": "John",
    "lastName": "Smith",
    "isAlive": true,
    "age": 28,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": "10021-3100"
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "office",
            "number": "646 555-4567"
        }
    ],
    "children": [],
    "spouse": null
}
@endjson

3、采用不同样式进行高亮显示

json 复制代码
@startjson
<style>
    .h1 {
        BackGroundColor green
        FontColor white
        FontStyle italic
    }
    .h2 {
        BackGroundColor red
        FontColor white
        FontStyle bold
    }
</style>
#highlight "lastName"
#highlight "address" / "city" <<h1>>
#highlight "phoneNumbers" / "0" / "number" <<h2>>
{
    "firstName": "John",
    "lastName": "Smith",
    "isAlive": true,
    "age": 28,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": "10021-3100"
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "office",
            "number": "646 555-4567"
        }
    ],
    "children": [],
    "spouse": null
}
@endjson

4、JSON基本元素

4.1、所有JSON基本元素的合成

json 复制代码
@startjson
{
    "null": null,
    "true": true,
    "false": false,
    "JSON_Number": [
        -1, 
        -1.1, 
        "<color:green>TBC"
    ],
    "JSON_String": "a\nb\rc\td <color:green>TBC...",
    "JSON_Object": {
        "{}": {},
        "k_int": 123,
        "k_str": "abc",
        "k_obj": {
            "k": "v"
        }
    },
    "JSON_Array" : [
        [],
        [true, false],
        [-1, 1],
        ["a", "b", "c"],
        ["mix", null, true, 1, {"k": "v"}]
    ]
}
@endjson

5、JSON数组或表

5.1、数组

json 复制代码
@startjson
{
    "Numeric": [1, 2, 3],
    "String ": ["v1a", "v2b", "v3c"],
    "Boolean": [true, false, true]
}
@endjson

5.3、数字数组

json 复制代码
@startjson
[1, 2, 3]
@endjson

5.4、字符串数组

json 复制代码
@startjson
["1a", "2b", "3c"]
@endjson

6、JSON数字

json 复制代码
@startjson
{
    "DecimalNumber": [-1, 0, 1],
    "DecimalNumber . Digits": [-1.1, 0.1, 1.1],
    "DecimalNumber ExponentPart": [1E5]
}
@endjson

7、JSON字符串

7.1、JSON Unicode

json 复制代码
@startjson
{
    "<color:blue><b>code": "<color:blue><b>value",
    "a\\u005Cb": "a\u005Cb",
    "\\uD83D\\uDE10": "\uD83D\uDE10",
    "": ""
}
@endjson

7.2、JSON双字符转义序列

json 复制代码
@startjson
{
"**legend**: character name": ["**two-character escape sequence**", "example (between"quotation mark character (U+0022)": ["\\\"", "a\"b"],
"reverse solidus character (U+005C)": ["\\\\", "a\\b"],
"solidus character (U+002F)": ["\\\/", "a\/b"],
"backspace character (U+0008)": ["\\b", "a\bb"],
"form feed character (U+000C)": ["\\f", "a\fb"],
"line feed character (U+000A)": ["\\n", "a\nb"],
"carriage return character (U+000D)": ["\\r", "a\rb"],
"character tabulation character (U+0009)": ["\\t", "a\tb"]
}
@endjson
json 复制代码
@startjson
[
"\\\\",
"\\n",
"\\r",
"\\t"
]
@endjson

8、Minimal JSON examples

json 复制代码
@startjson
"Hello world!"
@endjson
json 复制代码
@startjson
42
@endjson
json 复制代码
@startjson
true
@endjson

9、空表或列表

json 复制代码
@startjson
{
"empty_tab": [],
"empty_list": {}
}
@endjson

10、使用样式

10.1、无样式(默认)

json 复制代码
@startjson
#highlight "1" / "hr"
[
    {
        "name": "Mark McGwire",
        "hr": 65,
        "avg": 0.278
    },
    {
        "name": "Sammy Sosa",
        "hr": 63,
        "avg": 0.288
    }
]
@endjson

10.2、使用样式

json 复制代码
@startjson
<style>
jsonDiagram {
node {
BackGroundColor Khaki
LineColor lightblue
FontName Helvetica
FontColor red
FontSize 18
FontStyle bold
RoundCorner 0
LineThickness 2
LineStyle 10-5
separator {
LineThickness 0.5
LineColor black
LineStyle 1-5
}
}
arrow {
BackGroundColor lightblue
LineColor green
LineThickness 2
LineStyle 2-5
}
highlight {
BackGroundColor red
FontColor white
FontStyle italic
}
}
</style>
#highlight "1" / "hr"
[
{
"name": "Mark McGwire",
"hr": 65,
"avg": 0.278
},
{
"name": "Sammy Sosa",
"hr": 63,
"avg": 0.288
}
]
@endjson

11、在类图或对象图上显示JSON数据

11.1、简单示例

json 复制代码
@startuml
class Class
object Object
json JSON {
	"fruit":"Apple",
	"size":"Large",
	"color": ["Red", "Green"]
}
@enduml

11.2、复杂示例

json 复制代码
@startuml
json "<b>JSON basic element" as J {
"null": null,
"true": true,
"false": false,
"JSON_Number": [-1, -1.1, "<color:green>TBC"],
"JSON_String": "a\nb\rc\td <color:green>TBC...",
"JSON_Object": {
"{}": {},
"k_int": 123,
"k_str": "abc",
"k_obj": {"k": "v"}
},
"JSON_Array" : [
[],
[true, false],
[-1, 1],
["a", "b", "c"],
["mix", null, true, 1, {"k": "v"}]
]
}
@enduml
相关推荐
祀爱2 小时前
ControllerBase 类将对象转换为 JSON 格式并返回前端的方法
前端·json·asp.net
weelinking16 小时前
【产品】11_实现后端接口——数据在背后如何流动
java·人工智能·python·sql·oracle·json·ai编程
油炸自行车1 天前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
NiceCloud喜云2 天前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
逍遥德2 天前
PostgreSQL --- JSON 函数详解
数据库·sql·postgresql·json
輕華2 天前
Flask_GET请求与JSON响应实战详解
python·flask·json
NiceCloud喜云3 天前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
海兰3 天前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform
前网易架构师-高司机3 天前
带标注的交警识别数据集,可识别交警和非交警,5587张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·交警