云眼JSON
May 11, 2023About 1 min
云眼JSON
本主题介绍云眼特性标帜(Feature Flag)AB实验 C# SDK 用于检索 JSON 的 EyeofcloudJSON 对象。
由于静态类型语言缺乏对 JSON 的本机支持,因此 C# SDK 使用 EyeofcloudJson 对象以灵活的方式检索 JSON。
版本
SDK v3.5 及更高版本
方法
可以使用以下方法访问 JSON 表示形式:
方法 | 参数 | 描述 |
---|---|---|
ToString | 没有 | 返回 JSON 对象的字符串表示形式 |
ToDictionary | 没有 | 返回 JSON 对象的字典表示形式:(Dictionary<string,object>) |
GetValue<T> | string jsonPath | 返回指定的架构对象 (T ),其中包含传递给此方法的 JSON 键的键/值对。 如果 JSON 键为 null 或为空,则会使用所有 JSON 键/值对填充架构对象。 可以使用平展的 JSON 点表示法检索 JSON 数据结构的嵌套成员的信息。 例如,如果要访问{field1: {nestedField2: "blah"}} 中的键nestedField2 ,可以使用参数"field1.nestedField2" 进行调用GetValue 。 |
EyeofcloudJson 对象定义如下:
C#
public class EyeofcloudJson
{
public string ToString();
public Dictionary<string,object> ToDictionary();
public T GetValue<T>(string jsonPath);
}
例子
例如,可以轻松地使用EyeofcloudJson
对象来:
- 通过调用
ToString
方法获取 JSON 字符串,或者 - 通过调用
GetValue
方法从EyeofcloudJson
对象中检索指定的架构。
下面的示例演示如何使用 EyeofcloudJson 对象来填充您声明的架构对象。
C#
//declare a schema object into which you want to unmarshal EyeofcloudJson content:
public static class SSub
{
public string field;
}
public static class SObj
{
public int field1;
public double field2;
public string field3;
public SSub field4;
}
//parse all json key/value pairs into your schema,
sObj SObj robj = eocJSON.GetValue<SObj>(null);
//or, parse the specified key/value pair with an integer value
int rint = eocJSON.GetValue<int>("field1");
//or, parse the specified key/value pair with a string value SSub
rsub = eocJSON.GetValue<SSub>("field4.field");