سؤال

لدي الرمز التالي و 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top