2012-09-11 9 views
1

JToken 값을 역전시키는 방법은 무엇입니까? JToken을 입력으로 사용하고 JToken을 출력해야합니다.JSON JTOKEN을 역전시키는 방법 C#

A는 "jtoken.Reverse()"를 할 수 있지만이 방법은 JToken의 IEnumerable<JToken>

예를 반환

{ 
    "response": [ 
    { 
     "body": "steel", 
     "can_fly": 1, 
     "hover": 1 
    }, 

....이 반환 값은 Reverse()하지 않는 것을 의미합니다 많은 많은 항목

+0

어떤 유형은'jtoken'입니다

그냥 토큰은 다음 그렇게 반복해야하는 경우

? 그것은 단순한'JToken'뿐만 아니라 일부 콜렉션 일 가능성이 있습니다 ... 귀하의 예제는 JSON이므로 도움이되지 않습니다. 귀하의 질문은 JSON 라이브러리에 관한 것이지만 전혀 관련이 없습니다. – ThiefMaster

+0

please, see – SevenDays

+0

'jtoken'에 값이 할당 된 코드를 보여줍니다. – ThiefMaster

답변

2

새 배열 (또는 jtoken 컬렉션의 모든 종류)을 생성하지만 반대 순서로 요소를 생성하는 반복자를 만듭니다.

IEnumerable<JToken> reversed = jtoken.Reverse(); 
foreach(var token in reversed)` { 
    // do stuff; token is a JToken here 
} 
+0

(JToken 소스)가 예상하는 메서드가 있는데이 메서드를 변경할 수는 없지만 많은 함수에서이 메서드를 사용할 수 있습니다. – SevenDays

+0

흠. 너 말이 맞아. 나는 foreach와 모든 일들에 의해 int의 메인주기를 바꿨다. – SevenDays

1

당신은 사용할 수 있습니다 :

JToken reversed = new JArray(jToken.Reverse()); 
+0

죄송합니다. 답변을 모두 수락으로 표시 할 수 없습니다. ( – SevenDays

+0

Newtonsoft.Json.Linq.JObject에 Newtonsoft.Json.Linq.JObject를 추가 할 수 없습니다. – SevenDays

+0

수정 됨 - 대신 새 JArray를 사용해보세요. – Tevin