当前位置: 首页>>代码示例>>C#>>正文


C# JsonData.GetJsonType方法代码示例

本文整理汇总了C#中LitJson.JsonData.GetJsonType方法的典型用法代码示例。如果您正苦于以下问题:C# JsonData.GetJsonType方法的具体用法?C# JsonData.GetJsonType怎么用?C# JsonData.GetJsonType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LitJson.JsonData的用法示例。


在下文中一共展示了JsonData.GetJsonType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DeserializeJson

 public static OSD DeserializeJson(JsonData json)
 {
     switch (json.GetJsonType())
     {
         case JsonType.Boolean:
             return OSD.FromBoolean((bool)json);
         case JsonType.Int:
             return OSD.FromInteger((int)json);
         case JsonType.Long:
             return OSD.FromLong((long)json);
         case JsonType.Double:
             return OSD.FromReal((double)json);
         case JsonType.String:
             string str = (string)json;
             if (String.IsNullOrEmpty(str))
                 return new OSD();
             else
                 return OSD.FromString(str);
         case JsonType.Array:
             OSDArray array = new OSDArray(json.Count);
             for (int i = 0; i < json.Count; i++)
                 array.Add(DeserializeJson(json[i]));
             return array;
         case JsonType.Object:
             OSDMap map = new OSDMap(json.Count);
             IDictionaryEnumerator e = ((IOrderedDictionary)json).GetEnumerator();
             while (e.MoveNext())
                 map.Add((string)e.Key, DeserializeJson((JsonData)e.Value));
             return map;
         case JsonType.None:
         default:
             return new OSD();
     }
 }
开发者ID:RavenB,项目名称:gridsearch,代码行数:34,代码来源:OSDJson.cs

示例2: DeserializeJson

 public static OSD DeserializeJson(JsonData json)
 {
     switch (json.GetJsonType())
     {
         case JsonType.Boolean:
             return OSD.FromBoolean((bool)json);
         case JsonType.Int:
             return OSD.FromInteger((int)json);
         case JsonType.Long:
             return OSD.FromLong((long)json);
         case JsonType.Double:
             return OSD.FromReal((double)json);
         case JsonType.String:
             string str = (string)json;
             if (String.IsNullOrEmpty(str))
                 return new OSD();
             else
                 return OSD.FromString(str);
         case JsonType.Array:
             OSDArray array = new OSDArray(json.Count);
             for (int i = 0; i < json.Count; i++)
                 array.Add(DeserializeJson(json[i]));
             return array;
         case JsonType.Object:
             OSDMap map = new OSDMap(json.Count);
             foreach (KeyValuePair<string, JsonData> kvp in json)
                 map.Add(kvp.Key, DeserializeJson(kvp.Value));
             return map;
         case JsonType.None:
         default:
             return new OSD();
     }
 }
开发者ID:RavenB,项目名称:gridsearch,代码行数:33,代码来源:OSDJson.cs

示例3: DeserializeJson

        public static OSD DeserializeJson(JsonData json)
        {
            switch (json.GetJsonType())
            {
                case JsonType.Boolean:
                    return OSD.FromBoolean((bool)json);
                case JsonType.Int:
                    return OSD.FromInteger((int)json);
                case JsonType.Long:
                    return OSD.FromLong((long)json);
                case JsonType.Double:
                    return OSD.FromReal((double)json);
                case JsonType.String:
                    string str = (string)json;

                    if (String.IsNullOrEmpty(str))
                    {
                        return new OSD();
                    }
                    else
                    {
                        switch (str[0])
                        {
                            case 'd':
                                if (str.StartsWith("date::"))
                                {
                                    DateTime dt;
                                    if (DateTime.TryParse(str.Substring(6), out dt))
                                        return OSD.FromDate(dt);
                                }
                                break;
                            case 'u':
                                if (str.StartsWith("uuid::"))
                                {
                                    UUID id;
                                    if (UUID.TryParse(str.Substring(6), out id))
                                        return OSD.FromUUID(id);
                                }
                                else if (str.StartsWith("uri::"))
                                {
                                    try
                                    {
                                        Uri uri = new Uri(str.Substring(5));
                                        return OSD.FromUri(uri);
                                    }
                                    catch (UriFormatException) { }
                                }
                                break;
                            case 'b':
                                if (str.StartsWith("b64::"))
                                {
                                    try
                                    {
                                        byte[] data = Convert.FromBase64String(str.Substring(5));
                                        return OSD.FromBinary(data);
                                    }
                                    catch (FormatException) { }
                                }
                                break;
                        }

                        return OSD.FromString((string)json);
                    }
                case JsonType.Array:
                    OSDArray array = new OSDArray(json.Count);
                    for (int i = 0; i < json.Count; i++)
                        array.Add(DeserializeJson(json[i]));
                    return array;
                case JsonType.Object:
                    OSDMap map = new OSDMap(json.Count);
                    foreach (KeyValuePair<string, JsonData> kvp in json)
                        map.Add(kvp.Key, DeserializeJson(kvp.Value));
                    return map;
                case JsonType.None:
                default:
                    return new OSD();
            }
        }
开发者ID:RavenB,项目名称:gridsearch,代码行数:78,代码来源:OSDJson.cs

示例4: GetJsonType

 private JsonType GetJsonType(JsonData data)
 {
     if (data == null)
     {
         return JsonType.Object;
     }
     return data.GetJsonType();
 }
开发者ID:lynchjames,项目名称:CallJSON,代码行数:8,代码来源:JsonDataCrawler.cs


注:本文中的LitJson.JsonData.GetJsonType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。