云眼JSON
2023年5月11日大约 1 分钟
云眼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");