-Added DBNull support to JValue
This commit is contained in:
@@ -1394,5 +1394,23 @@ Parameter name: arrayIndex")]
|
||||
|
||||
Assert.AreEqual("Name2", value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void WriteObjectNullDBNullValue()
|
||||
{
|
||||
DBNull dbNull = DBNull.Value;
|
||||
JValue v = new JValue(dbNull);
|
||||
Assert.AreEqual(DBNull.Value, v.Value);
|
||||
Assert.AreEqual(JTokenType.Null, v.Type);
|
||||
|
||||
JObject o = new JObject();
|
||||
o["title"] = v;
|
||||
|
||||
string output = o.ToString();
|
||||
|
||||
Assert.AreEqual(@"{
|
||||
""title"": null
|
||||
}", output);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,6 +56,10 @@ namespace Newtonsoft.Json.Tests.Linq
|
||||
v.Value = "Pie";
|
||||
Assert.AreEqual("Pie", v.Value);
|
||||
Assert.AreEqual(JTokenType.String, v.Type);
|
||||
|
||||
v.Value = DBNull.Value;
|
||||
Assert.AreEqual(DBNull.Value, v.Value);
|
||||
Assert.AreEqual(JTokenType.Null, v.Type);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -203,6 +203,8 @@ namespace Newtonsoft.Json.Linq
|
||||
{
|
||||
if (value == null)
|
||||
return JTokenType.Null;
|
||||
else if (value == DBNull.Value)
|
||||
return JTokenType.Null;
|
||||
else if (value is string)
|
||||
return GetStringValueType(current);
|
||||
else if (value is long || value is int || value is short || value is sbyte
|
||||
|
||||
Reference in New Issue
Block a user