JSON을 LINQ할 수 있습니까?
이것은 .NET에 대한 요청에서 얻은 JSON입니다.
{
"id": "110355660738",
"picture": {
"data": {
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/1027085_12033235063_5234302342947_n.jpg",
"is_silhouette": false
}
}
}
그리고 (아마도?) LINQ를 사용하여 "url" 필드를 잡고 싶습니다. 나는 이것으로 많은 요청을합니다. 조금 다릅니다. 따라서 C# 클래스를 만들고 매번 역직렬화하지 않을 것입니다.
단일 필드를 추출하는 방법입니까? 감사합니다!
Linq에 대한 필요, 그냥 사용하지 dynamic
(사용 Json.Net )
dynamic obj = JObject.Parse(json);
Console.WriteLine((string)obj.picture.data.url);
Linq 버전은 잘 읽히지 않을 것입니다.
JObject jObj = JObject.Parse(json);
var url = (string)jObj.Descendants()
.OfType<JProperty>()
.Where(p => p.Name == "url")
.First()
.Value;
문서: LINQ to JSON
나는 LINQ를 추천하지 않을 것입니다. newtonsoft.json과 같은 JSON 라이브러리를 추천합니다.
그래서 당신은 이것을 할 수 있습니다:
string json = @"{
""Name"": ""Apple"",
""Expiry"": "2008-12-28T00:00:00",
""Price"": 3.99,
""Sizes"": [
""Small"",
""Medium"",
""Large""
]
}";
JObject o = JObject.Parse(json);
string name = (string)o["Name"];
// Apple
JArray sizes = (JArray)o["Sizes"];
string smallest = (string)sizes[0];
// Small
참고:- 이 코드는 프로젝트 사이트 http://james.newtonking.com/pages/json-net.aspx 에 있는 샘플에서 복사되었습니다.
In a bind you could always deserialize the JSON and serialize it to XML, and load the XML in a XDocument. Then you can use the classic Linq to XML. When you are done take the XML, deserialize it, and serialize it back to JSON to JSON. We used this technique to add JSON support to an application that was originally built for XML, it allowed near-zero modifications to get up and running.
ReferenceURL : https://stackoverflow.com/questions/18758361/can-i-linq-a-json
'IT이야기' 카테고리의 다른 글
distutils에게 gcc를 사용하도록 지시하는 방법은 무엇입니까? (0) | 2021.09.17 |
---|---|
최대 절전 모드: 일대일 지연 로딩, 선택 사항 = false (0) | 2021.09.17 |
ReactJS this.state null (0) | 2021.09.16 |
다른 JFrame을 닫지 않고 하나의 JFrame을 닫으셨습니까? (0) | 2021.09.16 |
LOAD DATA INFILE을 사용하여 MySQL 테이블로 가져올 때 CSV 파일의 열을 건너뛰는 방법은 무엇입니까? (0) | 2021.09.16 |