// 00. 예제 데이터
JObject jObj = JObject.Parse(@"{
'Stores': 'Lambton Quay',
'Manufacturers': [
{
'Name': 'Acme Co',
'Address': 'Newyork',
},
{
'Name': 'Contoso'
'Address': 'LA',
}
]
}");
// 01. JObject 인덱서를 사용하여 특정 Token을 리턴
JToken statusToken = jObj["Stores"].ToString();
// Lambton Quay


// 02. LINQ to JSON 사용
//var listJArray = dataToken.Select(p => p["transaction_date"].ToString().StartsWith("2018-04-16")); // System.Linq.Enumerable+WhereSelectEnumerableIterator`2[Newtonsoft.Json.Linq.JToken,System.Boolean]
// listJArray는 boolean 값들의 배열을 가지고 있다.

// 03. 미리 C# 데이타 타입을 지정하지 않는 또 다른 방식으로 JsonConvert.DeserializeObject() 메서 dynamic 얻기
dynamic jDynamic = JsonConvert.DeserializeObject(jObj.ToString());
var data1 = jDynamic.Manufacturers[1]["Name"].ToString();
// Contoso

// 04. JArray 이용한 방법
var jArr = JArray.Parse(jObj["Manufacturers"].ToString());

foreach (var item in jArr) {
Console.WriteLine(item["Address"].ToString());
}
// Newyork
// LA






C#에서 내 컴퓨터 이름을 찾을 때 여러 방법이 있다.

Environment.MachineName;
System.Net.Dns.GetHostName();
System.Windows.Forms.SystemInformation.ComputerName;
System.Environment.GetEnvironmentVariable("COMPUTERNAME");

Environment.MachineName

System.Windows.Forms.SystemInformation.ComputerName 

은 동일하다. 우리가 Netbios 네임이라 부르는 호스트 이름을 리턴한다.


System.Net.Dns.GetHostName()

      TCP/IP 상의 컴퓨터 호스트 이름을 리턴.

      컴퓨터의 Netbios 이름은 apple인데 Active Directory 같은 DNS들이 tomato.mydomain.com 이라고 서버를 명명할 경우가 있다.

      이 때 System.Net.Dns.GetHostName()의 결과가 tomato 이다


System.Environment.GetEnvironmentVariable("COMPUTERNAME")

     컴퓨터 설치시 지정한 컴퓨터 이름 리턴. 초기에는 Netbios 이름과 동일

     




+ Recent posts