مشكلة json.net مع jsonconvert.deserializeObject
-
20-09-2019 - |
سؤال
لدي الرمز التالي و json:
public class Labels
{
public Labels()
{}
public Label[] Label {get;set;}
}
public class Label
{
public Label()
{ }
public string Name { get; set; }
public int TorrentsInLabel { get; set; }
}
//...
Labels o = JsonConvert.DeserializeObject<Labels>(json);
//...
{"label":
[
["seq1",1]
,["seq2",2]
]}
أرغب في هذا الصفيف ["SEQ1" ، "1"] لإلغاء التخلص من كائن التسمية. ماذا ينقصني؟ بعض السمات؟
عندما أحصل على استثناء: توقعت jsonarraycontract من نوع 'test_jsonnet.label' ، حصلت على 'newtonsoft.json.serialization.jsonobjectContract'.
TNX
GG
المحلول
بشكل افتراضي ، يتسلسل الفئة إلى كائن JSON حيث تصبح خصائص الفصل خصائصًا على كائن JSON.
{
Name: "seq",
TorrentsInLabel: 1
}
أنت تحاول تسلسلها إلى صفيف ليس كيف يعمل Serializer Json.net افتراضيًا.
للحصول على ما تريدك ، يجب عليك إنشاء JsonConverter وقراءة وكتابة JSON للحصول على العلامة يدويًا لتكون ما تريده (صفيف).
نصائح أخرى
كيف يمكن لـ Jsonconvert معرفة أن "SEQ1" يتوافق مع الاسم و "1" يتوافق مع torrentsinlabel؟ يرجى إلقاء نظرة على jsonobjectattribute ، jsonpropertyattribute ، jsonarrayattribute
لا تنتمي إلى StackOverflow