Add byte[] mapping

master
Harald Wolff 2019-11-15 13:55:10 +01:00
parent 96315997b1
commit ccfda873d0
4 changed files with 12 additions and 3 deletions

View File

@ -63,7 +63,10 @@ namespace ln.json
sb.Append(kenum.Current); sb.Append(kenum.Current);
sb.Append('"'); sb.Append('"');
sb.Append(':'); sb.Append(':');
sb.Append(values[kenum.Current].ToString()); if (values[kenum.Current]!=null)
sb.Append(values[kenum.Current].ToString());
else
sb.Append("null");
if (!kenum.MoveNext()) if (!kenum.MoveNext())
break; break;

View File

@ -26,7 +26,7 @@ namespace ln.json
public JSONString(String value) public JSONString(String value)
:base(JSONValueType.STRING) :base(JSONValueType.STRING)
{ {
Value = value; Value = value == null ? String.Empty : value;
} }
public override string ToString() public override string ToString()

View File

@ -110,6 +110,12 @@ namespace ln.json.mapping
Add(new JSONIPv6Mapping()); Add(new JSONIPv6Mapping());
Add(new JSONMapping(
typeof(byte[]),
(JSONMapper mapper, object value) => new JSONString(Convert.ToBase64String(value as byte[])),
(JSONMapper mapper, JSONValue json) => Convert.FromBase64String((json as JSONString).ToNative().ToString())
));
} }
public void Add(JSONMapping mapping) public void Add(JSONMapping mapping)

View File

@ -54,7 +54,7 @@ namespace ln.json.mapping
if (json is JSONObject) if (json is JSONObject)
{ {
JSONObject jObject = (JSONObject)json; JSONObject jObject = (JSONObject)json;
object o = Activator.CreateInstance(TargetType); object o = Activator.CreateInstance(TargetType,true);
Apply(mapper, jObject, o); Apply(mapper, jObject, o);