public ObtenerResolucionesCompletas_Result(IJsonValue jsonValue) { /*JsonObject jsonObject = jsonValue.GetObject(); * * Resolucion = jsonObject.GetNamedString("Valor"); * Nombre = jsonObject.GetNamedString("Valor");*/ Resolucion = jsonValue.GetString(); Nombre = jsonValue.GetString(); }
public static object[] ToObjectArray(this IJsonValue v) { List <object> result = new List <object>(); switch (v.ValueType) { case JsonValueType.Boolean: result.Add(v.GetBoolean()); break; case JsonValueType.Null: result.Add(null); break; case JsonValueType.Number: result.Add(v.GetNumber()); break; case JsonValueType.String: result.Add(v.GetString()); break; case JsonValueType.Array: result.Add(v.GetArray().ToObjectArray()); break; } return(result.ToArray()); }
public ClipEvent(string jsonString) { JsonObject jsonObject = JsonObject.Parse(jsonString); IJsonValue timestampJsonValue = jsonObject.GetNamedValue(timestampKey); Timestamp = DateTime.Parse(timestampJsonValue.GetString()); IJsonValue cityJsonValue = jsonObject.GetNamedValue(cityKey); City = cityJsonValue.GetString(); IJsonValue estLatKeyJsonValue = jsonObject.GetNamedValue(est_latKey); var latitude = double.Parse(estLatKeyJsonValue.GetString()); IJsonValue estLonKeyJsonValue = jsonObject.GetNamedValue(est_lonKey); var longitude = double.Parse(estLonKeyJsonValue.GetString()); Geoposition = new BasicGeoposition { Latitude = latitude, Longitude = longitude }; IJsonValue reasonKeyJsonValue = jsonObject.GetNamedValue(reasonKey); var reason = reasonKeyJsonValue.GetString(); Reason = reason; }
internal void SetValue(object item, IJsonValue value) { // clunky and basic primitive conversion... object toSet = null; if (value.ValueType == JsonValueType.String) { toSet = value.GetString(); } else if (value.ValueType == JsonValueType.Number) { toSet = value.GetNumber(); } else if (value.ValueType == JsonValueType.Boolean) { toSet = value.GetBoolean(); } else { throw new NotSupportedException(string.Format("Cannot handle '{0}'.", value.ValueType)); } // convert to the target type and set... toSet = Convert.ChangeType(toSet, this.Property.PropertyType); this.Property.SetValue(item, toSet); }
public Restaurant(JsonObject json) { this.Pk = (int)json.GetNamedNumber("pk"); this.Name = json.GetNamedString("name"); this.Description = json.GetNamedString("description"); if (json.ContainsKey("thumbnail")) { this.ThumbnailUrl = json.GetNamedString("thumbnail"); } this.Style = json.GetNamedString("style"); this.Address = json.GetNamedString("address"); this.Latitude = json.GetNamedNumber("geo_lat"); this.Longitude = json.GetNamedNumber("geo_lon"); this.PublicTransit = json.GetNamedString("public_transit"); this.PhoneNumber1 = json.GetNamedString("phone_number_1"); this.PhoneNumber2 = json.GetNamedString("phone_number_2"); this.OpeningHours = json.GetNamedString("opening_hours"); this.Website = json.GetNamedString("website"); this.IsClosed = json.GetNamedBoolean("is_closed"); this.IsLocked = json.GetNamedBoolean("is_locked"); this.UrlPath = json.GetNamedString("url_path"); this.RatingNumbers = (int)json.GetNamedNumber("rating_num"); this.RatingScore = json.GetNamedNumber("rating_score"); this.ConsumptionNumbers = (int)json.GetNamedNumber("consumption_num"); this.ConsumptionPerCapita = json.GetNamedNumber("consumption_per_capita").ToString() + "€"; this.IsAdRanking = json.GetNamedBoolean("is_ad_ranking"); int size = json.GetNamedArray("tag_list").Count(); for (int i = 0; i < size; i++) { IJsonValue element = json.GetNamedArray("tag_list")[i]; this.Tags += " " + element.GetString(); } }
public static bool TryGetFloat(this IJsonValue data, out float retVal) { if (data == null) { retVal = default(float); return(false); } if (data.ValueType == JsonValueType.String) { if (!float.TryParse(data.GetString(), out retVal)) { retVal = default(float); return(false); } return(true); } else if (data.ValueType == JsonValueType.Number) { retVal = (float)data.GetNumber(); return(true); } else { retVal = default(float); return(false); } }
public static bool TryGetDouble(this IJsonValue data, out double retVal) { if (data == null) { retVal = default(double); return(false); } if (data.ValueType == JsonValueType.String) { if (!double.TryParse(data.GetString(), out retVal)) { retVal = default(double); return(false); } return(true); } else if (data.ValueType == JsonValueType.Number) { retVal = data.GetNumber(); return(true); } else { retVal = default(double); return(false); } }
public static bool TryGetInt(this IJsonValue data, out int retVal) { if (data == null) { retVal = default(int); return(false); } if (data.ValueType == JsonValueType.String) { if (!int.TryParse(data.GetString(), out retVal)) { retVal = default(int); return(false); } return(true); } else if (data.ValueType == JsonValueType.Number) { retVal = (int)Math.Round(data.GetNumber()); return(true); } else { retVal = default(int); return(false); } }
public User(string jsonString) : this() { JsonObject jsonObject = JsonObject.Parse(jsonString); Id = jsonObject.GetNamedString(idKey, ""); IJsonValue phoneJsonValue = jsonObject.GetNamedValue(phoneKey); if (phoneJsonValue.ValueType == JsonValueType.Null) { Phone = null; } else { Phone = phoneJsonValue.GetString(); } Name = jsonObject.GetNamedString(nameKey, ""); Timezone = jsonObject.GetNamedNumber(timezoneKey, 0); Verified = jsonObject.GetNamedBoolean(verifiedKey, false); foreach (IJsonValue jsonValue in jsonObject.GetNamedArray(educationKey, new JsonArray())) { if (jsonValue.ValueType == JsonValueType.Object) { Education.Add(new School(jsonValue.GetObject())); } } }
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 object ConvertFromJson(IJsonValue value) { List<Location> result = null; if (value != null && value.ValueType == JsonValueType.String) { string valueInStr = value.GetString(); var locationPairs = valueInStr.Split(';'); if (locationPairs != null) { result = new List<Location>(); foreach (var locationPair in locationPairs) { if (locationPair.Length > 0) { var latLong = locationPair.Split(','); result.Add(new Location() { Latitude = Convert.ToDouble(latLong[0]), Longitude = Convert.ToDouble(latLong[1]), }); } } } } return result; }
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 void StatefulState_Serialize() { IComponentState state = new StatefulComponentState("Off"); IJsonValue jsonValue = state.ToJsonValue(); jsonValue.ValueType.ShouldBeEquivalentTo(JsonValueType.String); jsonValue.GetString().ShouldBeEquivalentTo("Off"); }
public void String_ToJsonValue() { IJsonValue jsonValue = "Test".ToJsonValue(); (jsonValue == null).ShouldBeEquivalentTo(false); jsonValue.ValueType.ShouldBeEquivalentTo(JsonValueType.String); jsonValue.GetString().ShouldBeEquivalentTo("Test"); }
//扩展方法,用于检测值为null的情况 public static string TryGetString(this IJsonValue source) { if (source.ValueType == JsonValueType.Null) { return(""); } return(source.GetString()); }
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"); } }
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 static string GetJsonString(this IJsonValue obj) { if (obj == null || obj.ValueType == JsonValueType.Null) { return(string.Empty); } return(obj.GetString()); }
public static string GetStringValue(this IJsonValue jsonvalue) { if (jsonvalue.ValueType == JsonValueType.Null) { return(string.Empty); } return(jsonvalue.GetString()); }
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); }
public object ConvertFromJson(IJsonValue value) { if (value == null || value.ValueType == JsonValueType.Null) { return(null); } else { return(Enum.Parse(typeof(TEnum), value.GetString())); } }
public static string GetOptionalString(this IJsonValue data) { if (data == null) { return(null); } if (data.ValueType == JsonValueType.String) { return(data.GetString()); } return(data.ToString()); }
/// <summary> /// Throw an exception for an invalid response to a web request. /// </summary> /// <param name="request">The request.</param> /// <param name="response">The response.</param> /// <param name="body">The body of the response as JSON.</param> private static void ThrowInvalidResponse(IServiceFilterRequest request, IServiceFilterResponse response, IJsonValue body) { Debug.Assert(request != null, "request cannot be null!"); Debug.Assert(response != null, "response cannot be null!"); Debug.Assert( response.ResponseStatus != ServiceFilterResponseStatus.Success || response.StatusCode >= 400, "response should be failing!"); // Create either an invalid response or connection failed message // (check the status code first because some status codes will // set a protocol ErrorStatus). string message = null; if (response.StatusCode >= 400) { if (body != null) { if (body.ValueType == JsonValueType.String) { // User scripts might return errors with just a plain string message as the // body content, so use it as the exception message message = body.GetString(); } else if (body.ValueType == JsonValueType.Object) { // Get the error message, but default to the status description // below if there's no error message present. message = body.Get("error").AsString() ?? body.Get("description").AsString(); } } if (string.IsNullOrWhiteSpace(message)) { message = string.Format( CultureInfo.InvariantCulture, Resources.MobileServiceClient_ErrorMessage, response.StatusDescription); } } else { message = string.Format( CultureInfo.InvariantCulture, Resources.MobileServiceClient_ErrorMessage, response.ResponseStatus); } // Combine the pieces and throw the exception throw CreateMobileServiceException(message, request, response); }
public static T GetEnum <T>(this IJsonValue data) where T : struct { string dataString = data.GetString(); if (Enum.TryParse <T>(dataString, out T retVal)) { return(retVal); } else { throw new Exception(string.Format("Unable to parse {0} into enum of type {1}", dataString, typeof(T).ToString())); } }
private static void PrettyPrintValue(StringBuilder builder, IJsonValue jsonValue, int indent) { switch (jsonValue.ValueType) { case JsonValueType.String: builder.Append($"\"{jsonValue.GetString()}\""); break; case JsonValueType.Boolean: builder.Append($"{jsonValue.GetBoolean()}"); break; case JsonValueType.Number: builder.Append($"{jsonValue.GetNumber()}"); break; case JsonValueType.Null: builder.Append($"null"); break; case JsonValueType.Object: builder.Append("{\r\n"); indent++; foreach (var item in jsonValue.GetObject()) //doesn't preserve order { Tabs(builder, indent); builder.Append($"\"{item.Key}\": "); PrettyPrintValue(builder, (item.Value), indent); } RemoveLastComma(builder); indent--; Tabs(builder, indent); builder.Append("}"); break; case JsonValueType.Array: builder.Append("[\r\n"); indent++; foreach (IJsonValue value in jsonValue.GetArray()) { Tabs(builder, indent); PrettyPrintValue(builder, value, indent); } RemoveLastComma(builder); indent--; Tabs(builder, indent); builder.Append("]"); break; } builder.Append(",\r\n"); }
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; }
public Book(string jsonString) : this() // TODO { JsonObject jsonObject = JsonObject.Parse(jsonString); author = jsonObject.GetNamedString(authorKey, ""); title = jsonObject.GetNamedString(titleKey, ""); IJsonValue descriptionJsonValue = jsonObject.GetNamedString(descriptionKey); if (descriptionJsonValue.ValueType == JsonValueType.Null) { description = "No descrption, sorry"; } else { description = descriptionJsonValue.GetString(); } }
public string JsonGetIdUser(string _loginResponse) { JsonObject json = new JsonObject(); if (JsonObject.TryParse(_loginResponse, out json) == true) { IJsonValue jsonValue = null; if (json.TryGetValue("id", out jsonValue) == true) { _userID = jsonValue.GetString(); System.Diagnostics.Debug.WriteLine(_userID); } else { //throw new MSWException("Error with the json returned from the login request."); } } return(_userID); }
public static Color GetColor(this IJsonValue data) { if (data == null) { throw new ArgumentNullException("data"); } if (data.ValueType == JsonValueType.String) { Color retVal; if (!VanArsdel.Utils.ColorUtils.TryParseColorString(data.GetString(), out retVal)) { throw new Exception("JsonObject is type string but cannot be parsed to Color"); } return(retVal); } else { throw new Exception(string.Format("JsonObject is type {0}", data.ValueType.ToString())); } }
private static bool ParseAsBoolean(IJsonValue jsonValue, bool defaultValue = false) { if (jsonValue.ValueType == JsonValueType.Boolean) { return(jsonValue.GetBoolean()); } else if (jsonValue.ValueType == JsonValueType.String) { bool rv; if (!Boolean.TryParse(jsonValue.GetString(), out rv)) { return(defaultValue); } return(rv); } else { return(defaultValue); } }
private static int ParseAsInt(IJsonValue jsonValue, int defaultValue = -1) { if (jsonValue.ValueType == JsonValueType.Number) { return((int)jsonValue.GetNumber()); } else if (jsonValue.ValueType == JsonValueType.String) { int rv; if (!int.TryParse(jsonValue.GetString(), out rv)) { return(defaultValue); } return(rv); } else { return(defaultValue); } }
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; } }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); this.loginResponse = e.Parameter as string; JsonObject json = new JsonObject(); if (JsonObject.TryParse(this.loginResponse, out json) == true) { IJsonValue jsonValue = null; if (json.TryGetValue("id", out jsonValue) == true) { this.userId = jsonValue.GetString(); } else { //throw new MSWException("Error with the json returned from the login request."); } } }
public object ConvertFromJson(IJsonValue value) { List<DateTime> result = null; if (value != null && value.ValueType == JsonValueType.String) { string valueInStr = value.GetString(); var checkIns = valueInStr.Split(';'); if (checkIns != null) { result = new List<DateTime>(); foreach (var checkIn in checkIns) { result.Add(Convert.ToDateTime(checkIn)); } } } return result; }
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"); } }
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 static int ParseAsInt(IJsonValue jsonValue, int defaultValue = -1) { if (jsonValue.ValueType == JsonValueType.Number) { return (int)jsonValue.GetNumber(); } else if (jsonValue.ValueType == JsonValueType.String) { int rv; if (!int.TryParse(jsonValue.GetString(), out rv)) return defaultValue; return rv; } else { return defaultValue; } }
private static bool ParseAsBoolean(IJsonValue jsonValue, bool defaultValue = false) { if (jsonValue.ValueType == JsonValueType.Boolean) { return jsonValue.GetBoolean(); } else if (jsonValue.ValueType == JsonValueType.String) { bool rv; if (!Boolean.TryParse(jsonValue.GetString(), out rv)) return defaultValue; return rv; } else { return defaultValue; } }