برنامه نویسی

وارد کردن خواص خاص از JSON

مقدمه

بیاموزید که چگونه یک رشته JSON را با خواص شناخته شده بخوانید و خصوصیات ناخواسته را حذف کنید ، و پس از آن از بین بردن به یک کلاس به شدت تایپ شده.

از نوع داده های ورودی تا مورد نظر

برای این تظاهرات ، داده های زیر داده های ورودی با خاصیت ، سن و دو ویژگی ، نام و آخرین ، که باید نام و نام خانوادگی باشند ، دریافت می کنند.

[
  {
    "Id": 1,
    "Name": "Mary",
    "Last": "Jones",
    "Age": 22
  },
  {
    "Id": 2,
    "Name": "John",
    "Last": "Burger",
    "Age": 44
  },
  {
    "Id": 3,
    "Name": "Anne",
    "Last": "Adams",
    "Age": 33
  },
  {
    "Id": 4,
    "Name": "Paul",
    "Last": "Smith",
    "Age": 29
  },
  {
    "Id": 5,
    "Name": "Lucy",
    "Last": "Brown",
    "Age": 25
  }
]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کلاس برای وارد کردن داده ها به.

public class Person
{
    public int Id { get; set; }
    [JsonPropertyName("Name")]
    public string FirstName { get; set; }
    [JsonPropertyName("Last")]
    public string LastName { get; set; }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خواص غیرقانونی

JsonPropertyname برای نام مستعار از نام املاک در JSON گرفته تا آنچه در کلاس است استفاده می شود.

از بین بردن خواص ناخواسته

این یک فرآیند ساده است ، که در یک فایل JSON با فرمت صحیح خوانده می شود و به دنبال تکرار آرایه و برای هر مورد یک یا چند ویژگی را حذف کنید. در اینجا فقط یک ملک حذف می شود.

var jsonArray = JsonNode.Parse(File.ReadAllText("peopleIncoming.json"))!.AsArray();

foreach (var item in jsonArray)
{
    JsonObject obj = item!.AsObject();
    obj.Remove("Age");
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در مرحله بعد ، JSON اصلاح شده را در یک متغیر قرار دهید و JSON را روی یک پرونده بنویسید.

var updatedJson = jsonArray.ToJsonString(Indented);

DisplayUpdatedJsonPanel(updatedJson);

Console.WriteLine();

File.WriteAllText("People.json", updatedJson);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تعریف

public static JsonSerializerOptions Indented => new() { WriteIndented = true };
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ناامیدی به کلاس شخص

var people = JsonSerializer.Deserialize<Person[]>(updatedJson);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تصویر زیر از یک پروژه نمونه است که گنجانده شده است.

خروجی از پروژه نمونه

خلاصه

با دستورالعمل های ارائه شده ، وارد کردن داده های JSON به یک قالب مورد نظر آسان است.

همچنین ببینید

C# system.text.json

رمز منبع

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا