Sadece ilk Mülkün ortak olduğu tonlarca farklı jale ayrışıyorum. Bu ilk özelliğin değerine bağlı olarak json'u farklı nesneye ayırdım ve olası hatayı farklı şekilde ele aldım. Ancak json geçerli değil ama hala ilk özellik değerini bilmek istiyorum (bu geçerli olduğu sürece) böylece ayrıştırma hatasıyla başa çıkabilirim. Bu, Json.Net
ile mümkün olup olmadığını merak ediyordum. Tabii ki örneğin en azından böylesi ilk özellik geçerli olduğunu, bir şey varsayalım:Json geçerli olmasa bile ilk Mülkiyet Nasıl Ayrılır?
{
"parsingType":"sometype",
"someothervalue":123,
"someval"123,
}
Denedim aşağıdaki ancak .Parse
kullanırken istisnası atılır beri hiçbir sonuç almak:
JToken jtoken = JToken.Parse(json);
var theValueIWantToGet = jtoken["parsingType"].Value<string>();
Sadece bu değerle ilgilendiğiniz için, neden ayrıştırma zahmetine giriyor? Sadece bir dize araması yapın. Daha hızlı olacak. – Transcendental
JSON ile tam olarak ne yapıyorsunuz? Ya da onu nereden alıyorsunuz? Kendi uygulamanızdan veya hizmetinizden geliyorsa, 'TypeNameHandling.All' ve 'FormatterAssemblyStyle.Simple 'işlevlerini kullanarak' JsonSerializerSettings' komutunu ekleyebilir ve bu da Desperizatörün montajınızda doğru tipi tanımasını ve bulmasını sağlar. – rinukkusu
Bir JsonReader'ı şu şekilde gösterildiği gibi kullanmayı deneyin: [Geçersiz bir jsonu nasıl deserialize edebilirim? Nesnelerin kesilmiş listesi] (http://stackoverflow.com/q/36576928/10263) –