Paano i-convert ang JSON sa C# Class

Paano I Convert Ang Json Sa C Class



JSON o JavaScript Object Notation ay batay sa isang subset ng JavaScript programming language, ngunit ito ay language-independent at maaaring gamitin sa anumang programming language na mayroong JSON parser. Upang gamitin JSON data sa C# programming, kailangang mag-convert JSON sa a C# klase . Ginagawa nitong posible para sa mga programmer na makipag-ugnayan sa data sa isang uri-ligtas na paraan, na binabawasan ang panganib ng mga pagkakamali at ginagawang mas madaling mapanatili ang code.

Nagtatrabaho sa JSON ang data sa C# ay madalas na nangangailangan ng pag-convert ng data ng JSON sa Mga klase sa C# na madaling i-edit at magamit sa application. Tatalakayin ng tutorial na ito ang proseso ng pag-convert JSON data sa mga klase ng C#, na may mga halimbawa ng code na tutulong sa iyo.







Paano i-convert ang isang JSON sa isang C# Class

Ang mga hakbang sa pag-convert a JSON sa a C# Klase ay:



Hakbang 1: Suriin ang data ng JSON



Ang unang hakbang sa pag-convert JSON sa a C# klase ay upang pag-aralan ang data ng JSON at tukuyin ang istraktura nito. Kabilang dito ang pagtukoy sa mga susi o katangian ng data at ang mga kaukulang uri ng data ng mga ito. Kapag natipon na ang impormasyong ito, maaari na tayong magsimulang lumikha ng katumbas na klase ng C# na kakatawan sa data ng JSON.





Hakbang 2: Gumawa ng C# class na kumakatawan sa JSON data

Ang JSON pagkatapos ay ginagamit ang pangalan ng data upang tukuyin ang isang klase. Sa loob ng klaseng ito, tinutukoy namin ang mga katangian na tumutugma sa mga susi sa JSON datos. Itinakda namin ang mga uri ng data ng mga katangian upang tumugma sa mga uri ng data ng mga halaga sa JSON datos. Halimbawa, kung ang isang susi sa JSON ang data ay may halaga ng isang string, tinutukoy namin ang kaukulang pag-aari sa klase ng C# bilang isang string.



Hakbang 3: I-deserialize ang data ng JSON

Pagkatapos lumikha ng C# class, ang susunod na hakbang ay ang deserialize ang JSON data sa isang halimbawa ng klase. Posible ito sa Newtonsoft.Json library, na nagbibigay ng isang direktang API para sa deserializing JSON datos. Kailangan mong i-install at i-import ang Newtonsoft.Json package upang magamit ito sa iyong code. Lumikha ng isang halimbawa ng JsonSerializer klase at tawagan ang Deserialize paraan, pagbibigay ng JSON data bilang string at ang C# class bilang generic type na parameter:

gamit ang Newtonsoft.Json;

// data ng JSON
string json = '{' pangalan ':' John Smith ',' edad ':30}' ;
// C # klase
pampublikong klase Tao
{
Pangalan ng pampublikong string { makakuha; itakda ; }
pampublikong int Edad { makakuha; itakda ; }
}
// I-deserialize ang data ng JSON sa isang Person object
Tao tao = JsonConvert.DeserializeObject < Tao > ( json ) ;

Ang JSON Ang data sa halimbawang ito ay isang simpleng bagay na may pangalan at age property, at ang C# class ay isang Person class na may mga katulad na katangian. JsonConvert.DeserializeObject ay ginagamit sa pag-convert JSON data sa isang Person object na maaaring i-edit at magamit sa application.

Hakbang 4: Manipulahin ang C# object

Matapos i-deserialize ang data ng JSON sa isang C# object , maaari itong manipulahin at gamitin sa aplikasyon ayon sa ninanais. Maaaring basahin o itakda ang mga katangian, maaaring i-invoke ang mga pamamaraan, at maaaring ibigay ang object bilang parameter sa iba pang mga pamamaraan o function.

Narito ang isang halimbawa kung paano magtrabaho kasama ang Tao bagay na ginawa mo sa nakaraang hakbang:

// Kunin ang tao pangalan ni
string name = tao.Pangalan;

// Itakda ang tao'
s edad
tao.Edad = 31 ;

// Tumawag ng isang paraan sa bagay na tao
tao.PrintDetails ( ) ;

Ang person object ay ginagamit sa halimbawang ito upang makuha ang pangalan ng tao, itakda ang edad ng tao, at tawagan ang PrintDetails pamamaraan sa bagay.

Narito ang isang kumpletong code na nagpapakita kung paano i-convert ang JSON sa isang C# na klase .

gamit ang System;
gamit ang Newtonsoft.Json;

namespace JsonToClassExample
{
Programa ng klase
{
static void Main ( string [ ] args )
{
string json = @ '{
'firstName': 'Larry',
'LastName': 'Kevin',
'address': {
'kalye': 'Main Street',
'lungsod': 'Venice',
}
}'
;

Rootobject myObject = JsonConvert.DeserializeObject < Rootobject > ( json ) ;

Console.WriteLine ( 'Ang unang pangalan ay:' + myObject.firstName ) ;
Console.WriteLine ( 'Ang apelyido ay:' + myObject.lastName ) ;
Console.WriteLine ( 'Ang kalye ay:' + myObject.address.street ) ;
Console.WriteLine ( 'Ang lungsod ay:' + myObject.address.city ) ;


Console.ReadLine ( ) ;
}
}

pampublikong klase na Rootoobject
{
pampublikong string firstName { makakuha; itakda ; }
pampublikong string apelyido { makakuha; itakda ; }
pampublikong Address address { makakuha; itakda ; }
}

Address ng pampublikong klase
{
pampublikong string na kalye { makakuha; itakda ; }
pampublikong string na lungsod { makakuha; itakda ; }
}
}

Ang code sa itaas ay nagpapakita kung paano gamitin Newtonsoft.Json NuGet package sa deserialize a JSON string sa isang C# class . Binubuo ng string ng JSON ang impormasyon sa pangalan at apelyido ng isang tao, pati na rin ang kanilang address (kalye at lungsod). Bilang mga klase ng C#, ang mga klase ng Rootobject at Address ay nagtatatag ng istruktura ng data ng JSON.

Ang JsonConvert.DeserializeObject paraan ay ginagamit upang i-convert ang isang JSON string sa isang Rootobject halimbawa. Ang data ay ipinapakita sa console sa pamamagitan ng pag-access sa mga katangian ng Rootobject at mga klase ng Address. Ang Console.ReadLine paraan ay ginagamit upang ihinto ang programa bago ito wakasan.

Output

Iba pang Mga Paraan para I-convert ang JSON sa C#

Maaari mo ring kopyahin ang JSON data sa clipboard at gumamit ng a JSON hanggang C# class generator upang makabuo ng klase ng C#. Mayroong ilang mga tool online, tulad ng Json2CSharp at QuickType , na makakatulong sa iyo na bumuo ng iyong C# class mula sa JSON datos. Idikit ang JSON data sa naaangkop na field at hayaan ang tool na bumuo ng C# class para sa iyo. Ang diskarte na ito ay diretso at mabilis. Gayunpaman, para sa mga layunin ng pag-aaral, dapat mong sundin ang unang paraan.

Konklusyon

Pag-convert ng data ng JSON sa isang klase ng C# nagsasangkot ng pagsusuri sa JSON data, paglikha ng kaukulang C# class, at deserializing ang JSON data sa C# class object. Ang prosesong ito ay maaaring maging kapaki-pakinabang kapag nagtatrabaho sa JSON data sa mga C# application, na ginagawang mas madaling basahin, manipulahin, at ipadala ang data sa mga serbisyo sa web o API. Upang mabilis na isalin JSON hanggang C# , maaari mo ring gamitin ang ilang mga tool sa web, tulad ng Json2CSharp at QuickType .