Skip to content

Struct JsonVar

Namespace: Tool.Utils
Assembly: Tool.Net.dll

一种获取 Json 格式数据的实现

csharp
public readonly struct JsonVar : IEnumerable<JsonEnumerator>, IEnumerable

Implements

IEnumerable<JsonEnumerator>, IEnumerable

Inherited Members

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

Extension Methods

ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)

Constructors

JsonVar(object)

添加任意的数据,无规则。

csharp
public JsonVar(object data)

Parameters

data object

一类数据结构

Properties

Count

当前 层 可能存在的 集合 长度 (string 会显示 字符长度)

csharp
public int Count { get; }

Property Value

int

Data

当前 Json 的数据结构

csharp
public object Data { get; }

Property Value

object

IsEnumerator

判断是否支持枚举器

csharp
public bool IsEnumerator { get; }

Property Value

bool

ValueKind

大概确定 Json 数据的类型

csharp
public JsonValueKind ValueKind { get; }

Property Value

JsonValueKind

this[string]

通过键名获取值

csharp
public JsonVar this[string name] { get; }

Property Value

JsonVar

this[int]

通过下标获取值

csharp
public JsonVar this[int i] { get; }

Property Value

JsonVar

Methods

GetEnumerator()

获取可以用于遍历Json的集合

csharp
public IEnumerator<JsonEnumerator> GetEnumerator()

Returns

IEnumerator<JsonEnumerator>

Exceptions

Exception

不存在可以使用的集合

GetJson()

获取当前对象的Json字符串

csharp
public string GetJson()

Returns

string

GetVar<T>()

将对象还原成 特定值

csharp
public T GetVar<T>()

Returns

T

得到的值

Type Parameters

T

转换的值

ToString()

根据实际类型返回特定内容

csharp
public override string ToString()

Returns

string

结果

TryGet(out JsonVar, params object[])

获取当前Json集合下可能存在的数据信息

csharp
public bool TryGet(out JsonVar jsonVar, params object[] keys)

Parameters

jsonVar JsonVar

返回存在的结果

keys object[]

查找的Key和下标

Returns

bool

Operators

implicit operator JsonVar(JsonEnumerator)

JsonEnumerator

csharp
public static implicit operator JsonVar(JsonEnumerator value)

Parameters

value JsonEnumerator

Returns

JsonVar

implicit operator JsonVar(Dictionary<string, object>)

csharp
public static implicit operator JsonVar(Dictionary<string, object> value)

Parameters

value Dictionary<string, object>

Returns

JsonVar

implicit operator Dictionary<string, object>(JsonVar)

csharp
public static implicit operator Dictionary<string, object>(JsonVar value)

Parameters

value JsonVar

Returns

Dictionary<string, object>

implicit operator JsonVar(ArrayList)

ArrayList

csharp
public static implicit operator JsonVar(ArrayList value)

Parameters

value ArrayList

Returns

JsonVar

implicit operator ArrayList(JsonVar)

ArrayList

csharp
public static implicit operator ArrayList(JsonVar value)

Parameters

value JsonVar

Returns

ArrayList

implicit operator JsonVar(string)

string

csharp
public static implicit operator JsonVar(string value)

Parameters

value string

Returns

JsonVar

implicit operator string(JsonVar)

string

csharp
public static implicit operator string(JsonVar value)

Parameters

value JsonVar

Returns

string

implicit operator bool(JsonVar)

bool

csharp
public static implicit operator bool(JsonVar value)

Parameters

value JsonVar

Returns

bool

implicit operator int(JsonVar)

int

csharp
public static implicit operator int(JsonVar value)

Parameters

value JsonVar

Returns

int

implicit operator long(JsonVar)

long

csharp
public static implicit operator long(JsonVar value)

Parameters

value JsonVar

Returns

long

implicit operator double(JsonVar)

double

csharp
public static implicit operator double(JsonVar value)

Parameters

value JsonVar

Returns

double

implicit operator decimal(JsonVar)

decimal

csharp
public static implicit operator decimal(JsonVar value)

Parameters

value JsonVar

Returns

decimal

基于Apache-2.0协议开源