JSONの外部ノードを削除する必要があります。JObject.SelectToken .NETに相当する
{
app: {
...
}
}
外側のノードを削除する方法上の任意のアイデア、私たちは(.NET Frameworkのツールのみ、JSON.NETを使用してなしのみ
{
...
}
を得る:だから例は以下のようになりますC#)。私が使用Json.NETで
:
JObject.Parse(json).SelectToken("app").ToString();
を代替的に、DataContractJsonSerializer
の任意の構成を、デシリアライズ時にルートを無視するようにも機能するであろう。私は今desrializationを行う方法は、次のとおりです。ルートオブジェクトのプロパティ名は、ケースにケースと異なる可能性があること
protected T DeserializeJsonString<T>(string jsonString)
{
T tempObject = default(T);
using (var memoryStream = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
{
var serializer = new DataContractJsonSerializer(typeof(T));
tempObject = (T)serializer.ReadObject(memoryStream);
}
return tempObject;
}
注意。例えば、それは"transaction"
とすることができる。
ありがとうございます。
あなたのルートオブジェクトは常にプロパティとして「app」を持っていますか?それとも他のプロパティもサポートする必要がありますか? – rene
は異なる場合があります。たとえば、「トランザクション」 – Vlad
の場合は、JSON.NETを使用できません。それは長年の標準JSONシリアライゼーションライブラリとなりました.ASP.NET WebAPIは内部的にそれを使用しています。組み込みのフレームワークJSONシリアライザは古くなっており、JSON.NETよりも機能が少なくて済むことがあります。 –