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协议开源