private ValidationResult ValidateOne(string path, IMetadataDefinition definition, JValue value) { if (definition.ChoiceSet.Contains(value)) { return ValidationResult.Success; } return ValidationResult.Fail(ValidationErrorCodes.WellknownMetadata.UndefinedValue, $"Bad metadata: Value {value.ToString()} is undefined for {path}.", path); }
static int ToString(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue))) { Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1); string o = obj.ToString(); LuaDLL.lua_pushstring(L, o); return(1); } else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(System.IFormatProvider))) { Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1); System.IFormatProvider arg0 = (System.IFormatProvider)ToLua.ToObject(L, 2); string o = obj.ToString(arg0); LuaDLL.lua_pushstring(L, o); return(1); } else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(string))) { Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); string o = obj.ToString(arg0); LuaDLL.lua_pushstring(L, o); return(1); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(string), typeof(System.IFormatProvider))) { Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1); string arg0 = ToLua.ToString(L, 2); System.IFormatProvider arg1 = (System.IFormatProvider)ToLua.ToObject(L, 3); string o = obj.ToString(arg0, arg1); LuaDLL.lua_pushstring(L, o); return(1); } else if (TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(Newtonsoft.Json.Formatting)) && TypeChecker.CheckParamsType(L, typeof(Newtonsoft.Json.JsonConverter), 3, count - 2)) { Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1); Newtonsoft.Json.Formatting arg0 = (Newtonsoft.Json.Formatting)ToLua.ToObject(L, 2); Newtonsoft.Json.JsonConverter[] arg1 = ToLua.ToParamsObject <Newtonsoft.Json.JsonConverter>(L, 3, count - 2); string o = obj.ToString(arg0, arg1); LuaDLL.lua_pushstring(L, o); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: Newtonsoft.Json.Linq.JValue.ToString")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private void VisitPrimitive(Newtonsoft.Json.Linq.JValue data) { var key = _currentPath; if (_data.ContainsKey(key)) { throw new FormatException("duplicated key"); } _data[key] = data.ToString(CultureInfo.InvariantCulture); _entities.Add(new ConfigEntity() { Name = key, Value = _data[key] }); }
public void ToStringFormat() { JValue v = new JValue(new DateTime(2013, 02, 01, 01, 02, 03, 04)); Assert.AreEqual("2013", v.ToString("yyyy")); }
public void WriteSingle() { float f = 5.2f; JValue value = new JValue(f); string json = value.ToString(Formatting.None); Assert.AreEqual("5.2", json); }
public void JValueToString() { JValue v; v = new JValue(true); Assert.AreEqual("True", v.ToString()); v = new JValue(Encoding.UTF8.GetBytes("Blah")); Assert.AreEqual("System.Byte[]", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue("I am a string!"); Assert.AreEqual("I am a string!", v.ToString()); v = new JValue(null, JTokenType.Null); Assert.AreEqual("", v.ToString()); v = new JValue(null, JTokenType.Null); Assert.AreEqual("", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue(new DateTime(2000, 12, 12, 20, 59, 59, DateTimeKind.Utc), JTokenType.Date); Assert.AreEqual("12/12/2000 20:59:59", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue(new Uri("http://json.codeplex.com/")); Assert.AreEqual("http://json.codeplex.com/", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue(TimeSpan.FromDays(1)); Assert.AreEqual("1.00:00:00", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue(new Guid("B282ADE7-C520-496C-A448-4084F6803DE5")); Assert.AreEqual("b282ade7-c520-496c-a448-4084f6803de5", v.ToString(null, CultureInfo.InvariantCulture)); #if !(NET20 || NET35 || PORTABLE || PORTABLE40) v = new JValue(BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990")); Assert.AreEqual("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990", v.ToString(null, CultureInfo.InvariantCulture)); #endif }
public void EnumTests() { JValue v = new JValue(StringComparison.Ordinal); Assert.AreEqual(JTokenType.Integer, v.Type); string s = v.ToString(); Assert.AreEqual("Ordinal", s); StringComparison e = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.Ordinal, e); dynamic d = new JValue(StringComparison.CurrentCultureIgnoreCase); StringComparison e2 = (StringComparison)d; Assert.AreEqual(StringComparison.CurrentCultureIgnoreCase, e2); string s1 = d.ToString(); Assert.AreEqual("CurrentCultureIgnoreCase", s1); string s2 = (string)d; Assert.AreEqual("CurrentCultureIgnoreCase", s2); d = new JValue("OrdinalIgnoreCase"); StringComparison e3 = (StringComparison)d; Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e3); v = new JValue("ORDINAL"); d = v; StringComparison e4 = (StringComparison)d; Assert.AreEqual(StringComparison.Ordinal, e4); StringComparison e5 = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.Ordinal, e5); v = new JValue((int)StringComparison.OrdinalIgnoreCase); Assert.AreEqual(JTokenType.Integer, v.Type); StringComparison e6 = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e6); }
public void EnumTests() { JValue v = new JValue(StringComparison.Ordinal); Assert.AreEqual(JTokenType.Integer, v.Type); string s = v.ToString(); Assert.AreEqual("Ordinal", s); StringComparison e = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.Ordinal, e); dynamic d = new JValue(StringComparison.CurrentCultureIgnoreCase); StringComparison e2 = (StringComparison)d; Assert.AreEqual(StringComparison.CurrentCultureIgnoreCase, e2); string s1 = d.ToString(); Assert.AreEqual("CurrentCultureIgnoreCase", s1); string s2 = (string)d; Assert.AreEqual("CurrentCultureIgnoreCase", s2); d = new JValue("OrdinalIgnoreCase"); StringComparison e3 = (StringComparison)d; Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e3); v = new JValue("ORDINAL"); d = v; StringComparison e4 = (StringComparison)d; Assert.AreEqual(StringComparison.Ordinal, e4); StringComparison e5 = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.Ordinal, e5); v = new JValue((int)StringComparison.OrdinalIgnoreCase); Assert.AreEqual(JTokenType.Integer, v.Type); StringComparison e6 = v.ToObject<StringComparison>(); Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e6); // does not support EnumMember. breaking change to add ExceptionAssert.Throws<ArgumentException>(() => { d = new JValue("value_a"); EnumA e7 = (EnumA)d; Assert.AreEqual(EnumA.ValueA, e7); }, "Requested value 'value_a' was not found."); }
public void ToString() { JValue v; v = new JValue(true); Assert.AreEqual("True", v.ToString()); v = new JValue(Encoding.UTF8.GetBytes("Blah")); Assert.AreEqual("System.Byte[]", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue("I am a string!"); Assert.AreEqual("I am a string!", v.ToString()); v = new JValue(null, JTokenType.Null); Assert.AreEqual("", v.ToString()); v = new JValue(null, JTokenType.Null); Assert.AreEqual("", v.ToString(null, CultureInfo.InvariantCulture)); v = new JValue(new DateTime(2000, 12, 12, 20, 59, 59, DateTimeKind.Utc), JTokenType.Date); Assert.AreEqual("12/12/2000 20:59:59", v.ToString(null, CultureInfo.InvariantCulture)); }
/// <summary> /// Ensure that a numeric value can safely roundtrip as a double. /// </summary> /// <param name="value">The value.</param> /// <param name="desiredType">The desired type.</param> /// <returns> /// True if the value can roundtrip, false otherwise. /// </returns> private static bool NumericCanRoundtrip(object value, Type desiredType) { // Make sure that the value can roundtrip bool canRoundtrip = false; object original = Convert.ChangeType(value, desiredType, CultureInfo.InvariantCulture); double converted = Convert.ToDouble(value, CultureInfo.InvariantCulture); try { JValue jv = new JValue(converted); string jvString = jv.ToString(); JValue reverse = JValue.Parse(jvString) as JValue; if (reverse != null) { object roundtripped = Convert.ChangeType(reverse.Value, desiredType, CultureInfo.InvariantCulture); canRoundtrip = original.Equals(roundtripped); } } catch (InvalidCastException) { } catch (OverflowException) { } return canRoundtrip; }
private string getAuthToken() { bool needNewToken = false; if (token == null || token.Equals("")) { needNewToken = true; Log.Info("HockeyStreams - Need to login"); } else if (tokenCreateDate == null || tokenCreateDate.AddHours(tokenResetDurationHours) > DateTime.Now) { // current token is more than 12 hours old needNewToken = true; Log.Info("HockeyStreams - Token has expired, need to login again"); } if (needNewToken) { string postData = string.Format("username={0}&password={1}&key={2}", username, password, apiKey); // get the authentication token String jsonResponse = GetWebData(apiUrl_login,postData,null,null,null, false, false, useragent, null, null, false); JObject jsonLogin = JObject.Parse(jsonResponse); JToken authToken = new JValue(""); bool yes = jsonLogin.TryGetValue("token",out authToken); token = authToken.ToString(); tokenCreateDate = DateTime.Now; } return token; }
JToken VisitValue(JValue jValue) { if (jValue.Type == JTokenType.Boolean) { sb.Append(jValue.ToString().ToLower()); } else if (jValue.Type == JTokenType.String) { string s = (string)jValue.Value; bool needsQuotes = (s.Length == 0 || s.IndexOfAny(new char[] { '"', '\\', '/', '\b', '\f', '\n', '\r', '\t', '#', ':', ',', '[', ']', '{', '}' }) != -1); // NOTE: The order is important here; \\ should get replaced last s = s .Replace("\\", "\\\\") .Replace("\"", "\\\"") .Replace("/", "\\/") .Replace("\b", "\\b") .Replace("\f", "\\f") .Replace("\n", "\\n") .Replace("\r", "\\r") .Replace("\t", "\\t"); if (needsQuotes) { sb.AppendFormat("\"{0}\"", s); } else { sb.Append(s); } } else if (jValue.Type == JTokenType.Array || jValue.Type == JTokenType.Object) { Visit(jValue); } else { sb.Append(jValue.Value.ToString()); } return jValue; }