How to keep original casing? (JsonWriter WriteTo always converts to camel casing)
Sample JSON
{
"order":"123",
"item_xyz":{
"some_property":"some value",
"another_property":null,
"yet_another_property":123
}
}
My method
public string JSONSelect(string Json, string JsonPath)
{
string jsonResult = string.Empty;
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
using (JsonWriter json = new JsonTextWriter(sw))
{
json.Formatting = Newtonsoft.Json.Formatting.None;
JToken res = JToken.Parse(Json).SelectToken(JsonPath); //http://www.newtonsoft.com/json/help/html/SelectToken.htm
if (res != null)
{
switch (res.Type)
{
case JTokenType.String:
sb.Append(((JValue)res).ToString());
break;
case JTokenType.Null:
break;
default:
res.WriteTo(json); //<-----------here!
break;
}
}
}
jsonResult = sb.ToString();
return jsonResult;
}