public object ConvertFromJson(IJsonValue value) { if (value == null || value.ValueType == JsonValueType.Null) { return(null); } else { JsonArray array = value.GetArray(); ComplexType[] result = new ComplexType[array.Count]; for (int i = 0; i < array.Count; i++) { IJsonValue item = array[i]; if (item != null && item.ValueType != JsonValueType.Null) { JsonObject obj = item.GetObject(); result[i] = new ComplexType { Name = obj["Name"].GetString(), Age = (int)obj["Age"].GetNumber() }; } } return(result); } }
internal static object ValueToObject(IJsonValue value) { switch (value.ValueType) { case JsonValueType.Null: return(null); case JsonValueType.Boolean: return(value.GetBoolean()); case JsonValueType.Number: return(value.GetNumber()); case JsonValueType.String: return(value.GetString()); case JsonValueType.Object: return(new JsonPropertyProvider(value.GetObject())); case JsonValueType.Array: return(new JsonVectorView(value.GetArray())); default: throw new ArgumentException(); } }
public void Initial(IJsonValue o) { JsonObject token = o.GetObject(); id = token["id"].GetNumber(); FromUserName = token["fromusername"].GetString(); FromUserUri = token["url"].GetString(); Dateline = Tools.ConvertTime(token["dateline"].GetNumber()); GetPic(token["fromUserInfo"].GetObject()["userSmallAvatar"].GetString()); Regex regex = new Regex("<a.*?>.*?</a>"), regex2 = new Regex("href=\".*"), regex3 = new Regex(">.*<"); string s = token["note"].GetString(); while (regex.IsMatch(s)) { var h = regex.Match(s); string t = regex3.Match(h.Value).Value.Replace(">", string.Empty); t = t.Replace("<", string.Empty); string tt = regex2.Match(h.Value).Value.Replace("href=\"", string.Empty); if (tt.IndexOf("\"") > 0) { tt = tt.Substring(0, tt.IndexOf("\"")); } Uri = tt; s = s.Replace(h.Value, t); } Note = s; }
public FeedReplyViewModel(IJsonValue t, bool showReplyRow = true) : base(t) { JsonObject token = t.GetObject(); showPic = token.TryGetValue("pic", out IJsonValue value) && !string.IsNullOrEmpty(value.GetString()); dateline = Tools.ConvertTime(double.Parse(token["dateline"].ToString().Replace("\"", string.Empty))); if (showPic) { picUrl = value.GetString(); pic = new BitmapImage(new Uri(picUrl)); } message = Tools.GetMessageText(token["message"].GetString()); rurl = $"/u/{token["ruid"].GetNumber()}"; rusername = token["rusername"].GetString(); likenum = token["likenum"].ToString().Replace("\"", string.Empty); replynum = token["replynum"].ToString().Replace("\"", string.Empty); if (!string.IsNullOrEmpty(token["userInfo"].GetObject()["userSmallAvatar"].GetString())) { userSmallAvatar = new BitmapImage(new Uri(token["userInfo"].GetObject()["userSmallAvatar"].GetString())); } token.TryGetValue("replyRowsCount", out IJsonValue value1); replyRowsCount = value1?.GetNumber() ?? 0; showreplyRows = showReplyRow && replyRowsCount > 0; if (showreplyRows) { List <SimpleFeedReplyViewModel> models = new List <SimpleFeedReplyViewModel>(); foreach (var item in token["replyRows"].GetArray()) { models.Add(new SimpleFeedReplyViewModel(item)); } replyRows = models.ToArray(); replyRowsMore = token["replyRowsMore"].GetNumber(); } }
public Obtenercarrerasxcarnet_Result(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); Carrera = jsonObject.GetNamedString("Carrera"); Nombre = jsonObject.GetNamedString("Nombre"); }
public SourceFeedViewModel(IJsonValue t) : base(t) { JsonObject token = t.GetObject(); url = token.TryGetValue("url", out IJsonValue json) ? json.GetString() : $"/feed/{token["id"].ToString().Replace("\"", string.Empty)}"; if (token["entityType"].GetString() != "article") { uurl = token["userInfo"].GetObject()["url"].GetString(); username = token["userInfo"].GetObject()["username"].GetString(); dateline = Tools.ConvertTime(double.Parse(token["dateline"].ToString().Replace("\"", string.Empty))); message = token["message"].GetString(); message_title = token.TryGetValue("message_title", out IJsonValue j) ? j.GetString() : string.Empty; } else { dateline = Tools.ConvertTime(token["digest_time"].GetNumber()); message = token["message"].GetString().Substring(0, 120) + "……<a href=\"\">查看更多</a>"; message_title = token["title"].GetString(); } showMessage_title = !string.IsNullOrEmpty(message_title); showPicArr = token.TryGetValue("picArr", out IJsonValue value) && value.GetArray().Count > 0 && !string.IsNullOrEmpty(value.GetArray()[0].GetString()); if (token["feedTypeName"].GetString() == "酷图" && !((Windows.UI.Xaml.Window.Current.Content as Windows.UI.Xaml.Controls.Frame).Content is Pages.FeedPages.FeedListPage)) { isCoolPictuers = true; showPicArr = false; } pics = token["picArr"].GetArray().Select(i => i.GetString()).ToList(); GetPic(token); }
public Etiquetas(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); etiqueta = Convert.ToInt16(jsonObject.GetNamedNumber("Etiqueta")); valor = jsonObject.GetNamedString("Valor"); }
public FeedReplyViewModel(IJsonValue t, bool showReplyRow = true) : base(t) { JsonObject token = t.GetObject(); dateline = Tools.ConvertTime(double.Parse(token["dateline"].ToString().Replace("\"", string.Empty))); message = token["message"].GetString(); userSmallAvatarUrl = token["userInfo"].GetObject()["userSmallAvatar"].GetString(); likenum = token["likenum"].ToString().Replace("\"", string.Empty); replynum = token["replynum"].ToString().Replace("\"", string.Empty); token.TryGetValue("replyRowsCount", out IJsonValue value1); replyRowsCount = value1?.GetNumber() ?? 0; showreplyRows = showReplyRow && replyRowsCount > 0; if (showreplyRows) { List <SimpleFeedReplyViewModel> models = new List <SimpleFeedReplyViewModel>(); foreach (var item in token["replyRows"].GetArray()) { models.Add(new SimpleFeedReplyViewModel(item)); } replyRows = models.ToArray(); replyRowsMore = token["replyRowsMore"].GetNumber(); } liked = token.TryGetValue("userAction", out IJsonValue v) ? v.GetObject()["like"].GetNumber() == 1 : false; GetPic(); }
private PhraseNode LoadPhraseNode(IJsonValue jsonValue, PhraseNode parent) { var jsonObj = jsonValue.GetObject(); var caption = jsonObj.GetNamedString("caption"); var items = jsonObj.ContainsKey("items") ? jsonObj.GetNamedArray("items") : null; var isCategory = jsonObj.ContainsKey("isCategory") ? jsonObj.GetNamedBoolean("isCategory") : (items != null) && (items.Count > 0); var phraseNode = new PhraseNode { Caption = caption, Parent = parent, IsCategory = isCategory, }; if (items == null) { return(phraseNode); } foreach (var item in items) { var childNode = LoadPhraseNode(item, phraseNode); phraseNode.Children.Add(childNode); } return(phraseNode); }
protected Location GetLocation(IJsonValue locationValue) { if (locationValue.ValueType == JsonValueType.Null) { return(null); } var locationObject = locationValue.GetObject(); double latitude = 0; double longitude = 0; if (locationObject.ContainsKey("latitude") && locationObject.ContainsKey("longitude")) { latitude = locationObject["latitude"].GetNumber(); longitude = locationObject["longitude"].GetNumber(); } if (locationObject.ContainsKey("name") && locationObject.ContainsKey("id")) { var name = locationObject["name"].GetString(); var id = locationObject["id"].GetNumber(); return(new Location(latitude, longitude, name, id)); } if (locationObject.ContainsKey("id")) { var id = locationObject["id"].GetNumber(); return(new Location(id)); } return(new Location(latitude, longitude)); }
public static IJsonValue GetValueFromPath(this IJsonValue obj, string path) { var names = path.Split('.'); IJsonValue foundValue = obj; foreach (var name in names) { if (foundValue.ValueType != JsonValueType.Object) { foundValue = null; break; } var parentObj = foundValue.GetObject(); var arrayStartPos = name.IndexOf('['); if (arrayStartPos > 0) { foundValue = null; var arrayEndPos = name.IndexOf(']', arrayStartPos); if (arrayEndPos > 0) { var arrayName = name.Substring(0, arrayStartPos); var arrayIndexText = name.Substring(arrayStartPos + 1, arrayEndPos - arrayStartPos - 1); uint arrayIndex; if (parentObj.ContainsKey(arrayName) && uint.TryParse(arrayIndexText, out arrayIndex)) { var foundArray = parentObj.GetNamedArray(arrayName); if (arrayIndex < foundArray.Count) { foundValue = foundArray.GetObjectAt(arrayIndex); } } } if (foundValue == null) { break; } } else { if (parentObj.ContainsKey(name)) { foundValue = parentObj.GetNamedValue(name); } else { foundValue = null; break; } } } return(foundValue); }
public Obtenertitulosxcarrera_Result(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); Titulo = jsonObject.GetNamedString("Titulo"); Nombre = jsonObject.GetNamedString("Nombre"); }
private void Process(out JsonObject jsonObj, IJsonValue jsonData) { switch (jsonData.ValueType) { case JsonValueType.Null: jsonObj = new JsonObject(); break; case JsonValueType.Boolean: jsonObj = new JsonObject(jsonData.GetBoolean()); break; case JsonValueType.Number: jsonObj = new JsonObject(jsonData.GetNumber()); break; case JsonValueType.String: jsonObj = new JsonObject(jsonData.GetString()); break; case JsonValueType.Array: jsonObj = new JsonObject(JsonObjectType.Array); ProcessArray(jsonObj, jsonData.GetArray()); break; case JsonValueType.Object: jsonObj = new JsonObject(JsonObjectType.Object); ProcessObject(jsonObj, jsonData.GetObject()); break; default: throw new Exception("意外情况"); } }
public SourceFeedViewModel(IJsonValue t) : base(t) { JsonObject token = t.GetObject(); url = token.TryGetValue("url", out IJsonValue json) ? json.GetString() : $"/feed/{token["id"].ToString().Replace("\"", string.Empty)}"; if (token["entityType"].GetString() != "article") { uurl = token["userInfo"].GetObject()["url"].GetString(); username = token["userInfo"].GetObject()["username"].GetString(); dateline = Tools.ConvertTime(double.Parse(token["dateline"].ToString().Replace("\"", string.Empty))); message = Tools.GetMessageText(token["message"].GetString()); message_title = token.TryGetValue("message_title", out IJsonValue j) ? j.GetString() : string.Empty; } else { dateline = Tools.ConvertTime(token["digest_time"].GetNumber()); message = Tools.GetMessageText(token["message"].GetString().Substring(0, 120) + "……<a href=\"\">查看更多</a>"); message_title = token["title"].GetString(); } showMessage_title = !string.IsNullOrEmpty(message_title); showPicArr = token.TryGetValue("picArr", out IJsonValue value) && value.GetArray().Count > 0 && !string.IsNullOrEmpty(value.GetArray()[0].GetString()); if (showPicArr) { List <string> vs = new List <string>(); foreach (var item in value.GetArray()) { vs.Add(item.GetString() + ".s.jpg"); } picArr = vs.ToArray(); } }
public TipoConvenio_Result(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); Codigo = Convert.ToInt32(jsonObject.GetNamedNumber("Codigo")); Nombre = jsonObject.GetNamedString("Nombre"); }
public SimpleFeedReplyViewModel(IJsonValue t) { JsonObject token = t.GetObject(); id = token["id"].GetNumber(); uurl = $"/u/{token["uid"].GetNumber()}"; username = token["username"].GetString(); isFeedAuthor = token["isFeedAuthor"].GetNumber() == 1; rurl = $"/u/{token["ruid"].GetNumber()}"; rusername = token["rusername"].GetString(); if (showRuser) { message = $"<a href=\"{uurl}\">{username}{(isFeedAuthor ? "(楼主)" : string.Empty)}</a>@<a href=\"{rurl}\">{rusername}</a>:{token["message"].GetString()}"; } else { message = $"<a href=\"{uurl}\">{username}{(isFeedAuthor ? "(楼主)" : string.Empty)}</a>:{token["message"].GetString()}"; } showPic = token.TryGetValue("pic", out IJsonValue value) && !string.IsNullOrEmpty(value.GetString()); if (showPic) { picUrl = value.GetString(); message += $" <a href=\"{picUrl}\">查看图片</a>"; } }
public IndexPageViewModel(IJsonValue t) : base(t) { JsonObject token = t.GetObject(); if (token.TryGetValue("entityTemplate", out IJsonValue v1)) { entityTemplate = v1.GetString(); } if (token.TryGetValue("title", out IJsonValue v2) && v2.ValueType == JsonValueType.String) { hasTitle = !string.IsNullOrEmpty(v2.GetString()); if (hasTitle) { title = v2.GetString(); } } if (token.TryGetValue("url", out IJsonValue v3) && v3.ValueType == JsonValueType.String) { hasUrl = !string.IsNullOrEmpty(v3.GetString()); if (hasUrl) { url = v3.GetString(); } } if (token.TryGetValue("description", out IJsonValue v4) && v4.ValueType == JsonValueType.String) { hasDescription = !string.IsNullOrEmpty(v4.GetString()); if (hasDescription) { description = v4.GetString(); } } if (token.TryGetValue("entities", out IJsonValue v7) && v7.ValueType == JsonValueType.Array) { hasEntities = v7.GetArray().Count > 0; if (hasEntities) { List <Entity> models = new List <Entity>(); foreach (var item in v7.GetArray()) { JsonObject o = item.GetObject(); if (o["entityType"].GetString() == "feed") { models.Add(new FeedViewModel(item)); } else if (o["entityType"].GetString() == "user") { models.Add(new UserViewModel(item)); } else { models.Add(new IndexPageViewModel(item)); } } entities = models.ToArray(); } } GetPic(token); }
public Requisitosadmision_Result(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); Codigo = jsonObject.GetNamedString("Codigo"); Nombre = jsonObject.GetNamedString("Nombre"); Codigonombre = jsonObject.GetNamedString("Codigonombre"); }
private void WriteJsonValue(JsonWriter writer, IJsonValue value) { switch (value.ValueType) { case JsonValueType.Array: { JsonArray a = value.GetArray(); writer.WriteStartArray(); for (int i = 0; i < a.Count; i++) { WriteJsonValue(writer, a[i]); } writer.WriteEndArray(); } break; case JsonValueType.Boolean: { writer.WriteValue(value.GetBoolean()); } break; case JsonValueType.Null: { writer.WriteNull(); } break; case JsonValueType.Number: { // JsonValue doesn't support integers // serialize whole numbers without a decimal point double d = value.GetNumber(); bool isInteger = (d % 1 == 0); if (isInteger && d <= long.MaxValue && d >= long.MinValue) writer.WriteValue(Convert.ToInt64(d)); else writer.WriteValue(d); } break; case JsonValueType.Object: { JsonObject o = value.GetObject(); writer.WriteStartObject(); foreach (KeyValuePair<string, IJsonValue> v in o) { writer.WritePropertyName(v.Key); WriteJsonValue(writer, v.Value); } writer.WriteEndObject(); } break; case JsonValueType.String: { writer.WriteValue(value.GetString()); } break; default: throw new ArgumentOutOfRangeException("ValueType"); } }
public Facultad_Result(IJsonValue jsonValue) { JsonObject jsonObject = jsonValue.GetObject(); Entidad = jsonObject.GetNamedString("Entidad"); Descripcion_Corta = jsonObject.GetNamedString("Descripcion_Corta"); Descripcion = jsonObject.GetNamedString("Descripcion"); Descripcion_Larga = jsonObject.GetNamedString("Descripcion_Larga"); }
public DyhViewModel(IJsonValue t) : base(t) { JsonObject token = t.GetObject(); url = token["url"].GetString(); title = token["title"].GetString(); follownum = token["follownum"].GetString(); logo = new BitmapImage(new System.Uri(token["logo"].GetString())); }
private static object ConvertVariant(IJsonValue arg) { JsonObject obj = arg.GetObject(); string signatureString = obj.Keys.Single(); ITypeDefinition signature = AllJoynTypeDefinition.CreateTypeDefintions(signatureString).Single(); return(Convert(signature, obj.Values.Single())); }
private void WriteJsonValue(JsonWriter writer, IJsonValue value) { switch (value.ValueType) { case JsonValueType.Array: { JsonArray a = value.GetArray(); writer.WriteStartArray(); for (int i = 0; i < a.Count; i++) { WriteJsonValue(writer, a[i]); } writer.WriteEndArray(); } break; case JsonValueType.Boolean: { writer.WriteValue(value.GetBoolean()); } break; case JsonValueType.Null: { writer.WriteNull(); } break; case JsonValueType.Number: { writer.WriteValue(value.GetNumber()); } break; case JsonValueType.Object: { JsonObject o = value.GetObject(); writer.WriteStartObject(); foreach (KeyValuePair <string, IJsonValue> v in o) { writer.WritePropertyName(v.Key); WriteJsonValue(writer, v.Value); } writer.WriteEndObject(); } break; case JsonValueType.String: { writer.WriteValue(value.GetString()); } break; default: throw new ArgumentOutOfRangeException("ValueType"); } }
public DyhViewModel(IJsonValue t) : base(t) { JsonObject token = t.GetObject(); url = token["url"].GetString(); title = token["title"].GetString(); follownum = token["follownum"].ToString().Replace("\"", string.Empty); GetPic(token); }
public SimpleFeedReplyViewModel(IJsonValue t) { JsonObject token = t.GetObject(); id = token["id"].GetNumber(); uurl = $"/u/{token["uid"].GetNumber()}"; username = token["username"].GetString(); isFeedAuthor = token["isFeedAuthor"].GetNumber() == 1; message = Tools.GetMessageText($"<a href=\"{uurl}\">{username}{(isFeedAuthor ? "[楼主]" : string.Empty)}</a>:{token["message"].GetString()}"); }
public static string GetNamedString(this IJsonValue value, string name, string defaultValue = null) { try { return(value.GetObject()[name].GetString()); } catch (Exception) { return(defaultValue); } }
public static bool GetNamedBoolean(this IJsonValue value, string name, bool defaultValue = false) { try { return(value.GetObject()[name].GetBoolean()); } catch (Exception) { return(defaultValue); } }
public static double GetNamedNumber(this IJsonValue value, string name, double defaultValue = -1d) { try { return(value.GetObject()[name].GetNumber()); } catch (Exception) { return(defaultValue); } }
public static JsonArray GetNamedArray(this IJsonValue value, string name, JsonArray defaultValue = null) { try { return(value.GetObject()[name].GetArray()); } catch (Exception) { return(defaultValue); } }
public static JsonArray GetJsonArrayFromJsonObj(IJsonValue obj,string propertyName) { try { return obj.GetObject()[propertyName].GetArray(); } catch(Exception) { return null; } }
public static bool GetBooleanFromJsonObj(IJsonValue obj, string propertyName,bool defaultValue = false) { try { return obj.GetObject()[propertyName].GetBoolean(); } catch (Exception) { return defaultValue; } }
private ImageFormat JsonFormatToImageFormat(IJsonValue format) { JsonObject jsonObject = format.GetObject(); ImageFormat result = new ImageFormat(); result.JsonFormat = jsonObject; result.Format = jsonObject.GetNamedString("Subtype"); result.Height = (int)jsonObject.GetNamedNumber("Height"); result.Width = (int)jsonObject.GetNamedNumber("Width"); return(result); }
public static JsonObject GetJsonObjFromJsonObj(IJsonValue obj, string propertyName) { try { return(obj.GetObject()[propertyName].GetObject()); } catch (Exception) { return(null); } }
public static double? GetNullableNumberFromJsonObj(IJsonValue obj, string propertyName, double? defaultValue = null) { try { return obj.GetObject()[propertyName].GetNumber(); } catch (Exception) { return defaultValue; } }
private void WriteJsonValue(JsonWriter writer, IJsonValue value) { switch (value.ValueType) { case JsonValueType.Array: { JsonArray a = value.GetArray(); writer.WriteStartArray(); for (int i = 0; i < a.Count; i++) { WriteJsonValue(writer, a[i]); } writer.WriteEndArray(); } break; case JsonValueType.Boolean: { writer.WriteValue(value.GetBoolean()); } break; case JsonValueType.Null: { writer.WriteNull(); } break; case JsonValueType.Number: { writer.WriteValue(value.GetNumber()); } break; case JsonValueType.Object: { JsonObject o = value.GetObject(); writer.WriteStartObject(); foreach (KeyValuePair<string, IJsonValue> v in o) { writer.WritePropertyName(v.Key); WriteJsonValue(writer, v.Value); } writer.WriteEndObject(); } break; case JsonValueType.String: { writer.WriteValue(value.GetString()); } break; default: throw new ArgumentOutOfRangeException("ValueType"); } }
private static object _jsonDeserialize_convert(IJsonValue json) { object obj = null; switch (json.ValueType) { case JsonValueType.Array: JsonArray jsonArray = json.GetArray(); object[] objArray = new object[jsonArray.Count]; for (int i1 = 0; i1 < jsonArray.Count; i1++) { objArray[i1] = _jsonDeserialize_convert(jsonArray[i1]); } obj = objArray; break; case JsonValueType.Boolean: obj = json.GetBoolean(); break; case JsonValueType.Null: obj = null; break; case JsonValueType.Number: obj = json.GetNumber(); break; case JsonValueType.Object: JsonObject jsonObject = json.GetObject(); Dictionary<string, object> d = new Dictionary<string, object>(); List<string> keys = new List<string>(); foreach (var key in jsonObject.Keys) { keys.Add(key); } int i2 = 0; foreach (var item in jsonObject.Values) { d.Add(keys[i2], _jsonDeserialize_convert(item)); i2++; } obj = d; break; case JsonValueType.String: obj = json.GetString(); break; } return obj; }
/// <summary> /// Usage : /// like var token = JsonParser.GetStringFromJsonObj(json, "token"); /// </summary> /// <param name="obj"></param> /// <param name="propertyName"></param> /// <returns></returns> public static string GetStringFromJsonObj(IJsonValue obj,string propertyName,string defaultValue=null) { try { if (obj.GetObject()[propertyName].ValueType == JsonValueType.String) { return obj.GetObject()[propertyName].GetString(); } else if (obj.GetObject()[propertyName].ValueType == JsonValueType.Number) { return obj.GetObject()[propertyName].GetNumber().ToString(); } else if (obj.GetObject()[propertyName].ValueType == JsonValueType.Boolean) { return obj.GetObject()[propertyName].GetBoolean() ? "true" : "false"; } else throw new Exception(); } catch(Exception) { return defaultValue; } }
dynamic Convert(IJsonValue json) { dynamic obj = null; switch (json.ValueType) { case JsonValueType.Array: obj = ConvertArray(json.GetArray()); break; case JsonValueType.Boolean: obj = json.GetBoolean(); break; case JsonValueType.Null: obj = null; break; case JsonValueType.Number: obj = json.GetNumber(); break; case JsonValueType.Object: obj = new JsonToDynamic(json.GetObject()); break; case JsonValueType.String: obj = json.GetString(); break; } return obj; }
private void RenderValue(IJsonValue json, double indent) { switch (json.ValueType) { case JsonValueType.Array: RenderArray(json.GetArray(), indent); break; case JsonValueType.Object: RenderObject(json.GetObject(), indent); break; case JsonValueType.Null: AddInlines(new Run() { Text = "null", FontStyle = Windows.UI.Text.FontStyle.Italic, Foreground = BooleanBrush }); break; case JsonValueType.Number: AddInlines(new Run() { Text = json.GetNumber().ToString(), Foreground = NumberBrush }); break; case JsonValueType.String: AddInlines(new Run() { Text = "\"" + json.GetString() + "\"", Foreground = StringBrush }); break; case JsonValueType.Boolean: AddInlines(new Run() { Text = json.GetBoolean().ToString(), Foreground = BooleanBrush }); break; } }