نظرا للفئة
ج #
فئة عامة MyClass {
السلسلة العامة MyField {get؛ set؛}
السلسلة العامة MyOtherField {get؛ set؛}
}
the generated JSON will be
``` javascript
{"MyField": "field value", "MyOtherField": "other field value"}
ومع ذلك ، فإن واجهة برمجة تطبيقات REST على الطرف الآخر من السلك تتبع اصطلاح تسمية آخر حيث من المتوقع أن تكون المفاتيح بأحرف صغيرة ، مثل
{"myField": "field value", "myOtherField": "other field value"}
هل هناك طريقة سهلة لتحقيق ذلك دون اللجوء إلى برنامج تسلسلي مخصص؟ إنه تغيير صغير يُفضل أن يكون مجرد تبديل تكوين في مكان ما.
استخدم السمة JsonProperty
على الخاصية لتحديد اسم مختلف عند التسلسل!
public class MyClass {
public string MyField {get;set;}
[JsonProperty("myOtherField")]
public string MyOtherField {get;set;}
}
يبدو أن ما أحتاجه ، لكن لا يمكنني العثور على هذه السمة في RestSharp. هل أحتاج إلى استيراد بعض ملفات dll الأخرى؟ أنا أستخدم إصدار MonoTouch من RestSharp.
تحرير: أضفت مكتبة Newtonsoft.Json MonoTouch وأضفت السمة ، لكنها كانت لا تزال تنشئ مفاتيح بأحرف كبيرة.
سألت عن هذا في القائمة البريدية ، وحصلت على رد بأن هذا شيء خاص بـ JSON.NET ، وليس RestSharp. إذا كان الأمر كذلك ، أود فتح هذه المشكلة كطلب ميزة.
تم فتح طلب ميزة؟
لم يكن. إذا كانت هذه الميزة مطلوبة ، فإن RestSharp يمنحك القدرة على استخدام برنامج de / serializer مخصص لذلك عليك استخدام ذلك في الوقت الحالي.
التعليق الأكثر فائدة
استخدم السمة
JsonProperty
على الخاصية لتحديد اسم مختلف عند التسلسل!