Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 19254|Відповідь: 2

[Джерело] Використовуйте Newtonsoft.Json у .NET для конвертації, читання, запису json

[Копіювати посилання]
Опубліковано 14.12.2015 17:33:50 | | |

Перш за все, вам потрібно зрозуміти, що таке JSON, ви можете натиснути https://www.ibm.com/developerworks/cn/web/wa-lo-json/, щоб дізнатися більше про JSON, я коротко познайомлю з JSON тут:
    JSON розшифровується як Javascrip{filter}t Object Natation — легкий формат обміну даними, ідеальний для взаємодії з сервером із Javascrip{filter}t. Як і XML, JSON — це формат даних на основі простого тексту. Оскільки JSON за своєю суттю підготовлений для Javascrip{filtering}t, формат даних JSON дуже простий: у JSON можна передати простий рядок, число, булевий діапазон, масив або складний об'єкт об'єкта.
     У .NET середовище ми використовуємо Json.net для серіалізації та десеріалізації JSON-даних.
     Почніть з натискання Connect http://json.codeplex.com/, щоб завантажити JSON. .NET-плагіни та код.
     Потім додайте референсні Newtonsoft.Json.dll у своєму проєкті
     Додати простір назв: за допомогою Newtonsoft.Json;
     Нижче наведено деякі важливі методи та приклади серіалізації та десеріалізації JSON:
JsonConvert.SerializeObject(object value), який має метод перевантаження JsonConvert.SerializeObject(object value, params JsonConverter[] converters).
JsonConvert.DeserializeObject(значення рядка, тип типу), десеріалізований, має метод перевантаження JsonConvert.DeserializeObject(значення рядка, тип типу, перетворювачі параметрів JsonConverter[]
Ці два методи дозволяють досягати базових вимог до серіалізації та десеріалізації, див. наступні приклади:
Спершу побудуємо код класу Person:
  Особа публічного класу
    {
        ім'я приватного рядка;
        Публічна назва рядка
        {
            get { повернути ім'я; }
            set { name = value; }
        }
        приватний міжнародний вік;
        публічний міжнародний вік
        {
            get { return age; }
            set { age = value; }
        }
    }
1) Серіалізація
використовуючи System;
з використанням System.Collections.Generic;
використовуючи System.Linq;
використовуючи System.Web;
використовуючи System.Web.UI;
використання System.Web.UI.WebControls;
використовуючи Newtonsoft.Json;

Простір імен JSONnet
{
    Публічний частковий тест у класі: System.Web.UI.Page
    {
        захищена порожнеча Page_Load(відправник об'єкта, EventArgs e)
        {
            Особа = нова Особа();
            людина. Ім'я = «GoldenEasy»;
            людина. Вік = 25;
            string strSerializeJSON = JsonConvert.SerializeObject(person);
            Відповідь.Писати (strSerializeJSON);      
              
        }
    }
}
Вихід:
{"Name":"GoldenEasy","Age":25}
2) десеріалізація
використовуючи System;
з використанням System.Collections.Generic;
використовуючи System.Linq;
використовуючи System.Web;
використовуючи System.Web.UI;
використання System.Web.UI.WebControls;
використовуючи Newtonsoft.Json;

Простір імен JSONnet
{
    Публічний частковий тест у класі: System.Web.UI.Page
    {
        захищена порожнеча Page_Load(відправник об'єкта, EventArgs e)
        {
            Особа = нова Особа();
            людина. Ім'я = «GoldenEasy»;
            людина. Вік = 25;
            string strSerializeJSON = JsonConvert.SerializeObject(person);           
            Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
            Відповідь.Write(користувач. Назва);
         
        }
    }
}
Вихідний результат: GoldenEasy




Попередній:Туторіал серії розробки iOS випущений влітку】Туторіал для iPhone
Наступний:Багатопотокність потоків Важлива роль IsBackground для потоків
 Орендодавець| Опубліковано 13.01.2016 16:02:50 |
Відправити версію .net2.0 у .net4.5

Bin.rar (1.71 MB, Кількість завантажень: 2)
Опубліковано 18.05.2016 17:53:51 |
Десеріалізація також може бути написана так: List<Model.WebCMS.FloorClass> floor = JsonConvert.DeserializeObject<List<Model.WebCMS.FloorClass>>(html);
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com