320x100
0. [도구] - [NuGet 패키지 관리자] - [솔루션용 NuGet 패키지 관리]에서 "Newtonsoft.Json"을 설치
1. Json형 String -> Object
using Newtonsoft.Json;
using System;
namespace csharptest
{
class Program
{
static void Main(string[] args)
{
dynamic obj = JsonConvert.DeserializeObject("{ 'name': 'Park', 'nick': 'Duck'}");
string name = obj.name;
string address = obj.nick;
Console.WriteLine(name);
Console.WriteLine(address);
}
}
}
//결과 : Park, Duck
2. Json형 String -> 임의의 구조체나 클래스
using Newtonsoft.Json;
using System;
struct Temp
{
public string name;
public string nick;
}
namespace csharptest
{
class Program
{
static void Main(string[] args)
{
dynamic obj = JsonConvert.DeserializeObject<Temp>("{ 'name': 'Park', 'nick': 'Duck'}");
string name = obj.name;
string address = obj.nick;
Console.WriteLine(name);
Console.WriteLine(address);
}
}
}
//결과 : Park, Duck
반응형
3. Object -> Json
using Newtonsoft.Json;
using System;
struct Temp
{
public string name;
public string nick;
}
namespace csharptest
{
class Program
{
static void Main(string[] args)
{
Temp temp = new Temp();
temp.name = "Park";
temp.nick = "Duck";
string json = JsonConvert.SerializeObject(temp);
Console.WriteLine(json);
}
}
}
// 결과 : {"name":"Park","nick":"Duck"}
4. LINQ -> Json
using Newtonsoft.Json.Linq;
using System;
namespace csharptest
{
class Program
{
static void Main(string[] args)
{
JObject temp = new JObject();
temp["name"] = "Park";
temp["nick"] = "Duck";
JObject info = new JObject();
info["age"] = 100;
info["weight"] = "200";
info["height"] = 3;
temp["info"] = info;
JArray array = new JArray();
array.Add(1);
array.Add(2);
array.Add(3);
temp["count"] = array;
string json = temp.ToString();
Console.WriteLine(json);
}
}
}
/* 결과
{
"name": "Park",
"nick": "Duck",
"info": {
"age": 100,
"weight": "200",
"height": 3
},
"count": [
1,
2,
3
]
}
*/
반응형
'프로그래밍 > C,C++,C#' 카테고리의 다른 글
[C#.NET] 폼 최대창으로 로드하기(창 넓이, 높이 값 구하기) (0) | 2022.09.28 |
---|---|
[C# .Net] FlowLayoutPanel Dock Fill 사라짐 해결 (0) | 2022.07.12 |
[C# .NET] 시리얼포트 리스트 생성(feat. ComboBox) (0) | 2022.07.04 |
[C++/C] C++에서 C파일 호출하여 컴파일(LNK2001, LNK1120 오류) feat. 맹글링(Mangling) (1) | 2022.05.05 |
[C/C++] volatile 이란(쓰레드/변수 값 안바뀌는 오류) (0) | 2022.04.26 |
댓글