にJSONを解析する際に小文字にすべてのキーを変更し、キーは大文字と小文字を持ってする方法:私はJSONの文字列を持っているJToken
{"employees":[
{"FIrstName":"John", "LASTname":"Doe"},
{"FIRSTNAME":"Anna", "LaSTNaME":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
は私がJToken
オブジェクトに変換し、持っていたいすべてのJToken
のキーは小文字にしてください。だから、内部的に次のようにJToken
で、それは次のようになります。
{"employees":[
{"firstname":"John", "lastname":"Doe"},
{"firstname":"Anna", "lastname":"Smith"},
{"firstname":"Peter", "lastname":"Jones"}
]}
以前私が変換することJToken json = JToken.Parse(jsonString);
を使用していたが、私は、キーを小文字にする方法を見つけることができません。 アイデア?
私がこれを行う必要があるのは、私のJsonSchema
検証で大文字小文字を区別しないようにするためです。
public class LowerCasePropertyNameJsonReader : JsonTextReader
{
public LowerCasePropertyNameJsonReader(TextReader textReader)
: base(textReader)
{
}
public override object Value
{
get
{
if (TokenType == JsonToken.PropertyName)
return ((string)base.Value).ToLower();
return base.Value;
}
}
}
基礎となるJsonTextReader
を続けるので、これは動作します:最小限のコードでこれを解決するために
JPropertyにはNameのgetterしかありませんので、問題を変更することになります。 – mybirthname
真。私は、解析メカニズムをカスタマイズする方法がいくつかあると考えていました。構文解析を編集するreviverパラメータ(https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)を持つjs parse関数と同様です。私はjson.netでカスタマイズする方法がわかりません。 – Rafi
カスタムJsonコンバータを作成する場合は、これをチェックしてください。私はそれがあなたの現在の場合に役立つかどうかわからない:http://stackoverflow.com/questions/8030538/how-to-implement-custom-jsonconverter-in-json-net-to-deserialize-a-list- of-base – mybirthname