nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.Data.NLP / JsonNode

JsonNode

Full name Microsoft.VisualBasic.Data.NLP.ChineseTokenizer.HuggingFace.JsonNode Assembly Microsoft.VisualBasic.Data.NLP Members 13

一个轻量级的 json 文档对象模型。

00 Remarks

这里没有直接复用 Microsoft.VisualBasic.Serialization.JSON 中基于 DataContractJsonSerializer 的反序列化器,原因有两点:

  1. tokenizer.json 中的 vocab 是一个拥有十余万个任意 Unicode 字符

作为键名的字典,并且 normalizer / pre_tokenizer 等节点是依据 type 字段区分的多态结构,契约式序列化器无法描述这样的模式;

  1. 该文件体积约为 7.8 MB,此处的实现直接在字符缓冲区上扫描、不产生中间字符串,

解析开销与内存占用都显著低于反射式反序列化。

本实现不引入任何新的工程引用,因此可以同时用于 net10.0 与 net10.0-windows 两个目标框架。

01 Syntax

Microsoft.VisualBasic.Data.NLP.ChineseTokenizer.HuggingFace.JsonNode

02 Methods

NameOverloadsSummary
AsString 1 读取字符串值,节点为空或类型不符时返回 default。
AsInteger 1 读取整数值,节点为空或类型不符时返回 default。
AsDouble 1 读取双精度值,节点为空或类型不符时返回 default。
AsBoolean 1 读取布尔值,节点为空或类型不符时返回 default。
ToString 1

03 Properties

NameOverloadsSummary
Type 1 当前节点的数据类型。
StringValue 1 字符串字面值,仅当 JsonNode.Type 为 JsonNodeType.String 时有效。
NumberValue 1 数值字面值,仅当 JsonNode.Type 为 JsonNodeType.Number 时有效。
BoolValue 1 布尔字面值,仅当 JsonNode.Type 为 JsonNodeType.Boolean 时有效。
Members 1 对象成员表,仅当 JsonNode.Type 为 JsonNodeType.Object 时有效。
Items 1 数组元素表,仅当 JsonNode.Type 为 JsonNodeType.Array 时有效。
IsNull 1 当前节点是否为 json 的 null 字面量。
Item 1 按键名读取对象成员,键不存在或当前节点不是对象时返回 Nothing。

04 Members

method AsString #
AsString(String)

读取字符串值,节点为空或类型不符时返回 default。

method AsInteger #
AsInteger(Int32)

读取整数值,节点为空或类型不符时返回 default。

method AsDouble #
AsDouble(Double)

读取双精度值,节点为空或类型不符时返回 default。

method AsBoolean #
AsBoolean(Boolean)

读取布尔值,节点为空或类型不符时返回 default。

property Type #
Type

当前节点的数据类型。

property StringValue #
StringValue

字符串字面值,仅当 JsonNode.Type 为 JsonNodeType.String 时有效。

property NumberValue #
NumberValue

数值字面值,仅当 JsonNode.Type 为 JsonNodeType.Number 时有效。

property BoolValue #
BoolValue

布尔字面值,仅当 JsonNode.Type 为 JsonNodeType.Boolean 时有效。

property Members #
Members

对象成员表,仅当 JsonNode.Type 为 JsonNodeType.Object 时有效。

property Items #
Items

数组元素表,仅当 JsonNode.Type 为 JsonNodeType.Array 时有效。

property IsNull #
IsNull

当前节点是否为 json 的 null 字面量。

property Item #
Item(String)

按键名读取对象成员,键不存在或当前节点不是对象时返回 Nothing。

method ToString #
ToString()