2013-04-10 2 views
0

나는 C#에서 몇 주 전에 일하기 시작했고, 실제로는 GET/POST http 요청으로 수집 된 많은 데이터 묶음에서 정보를 추출하려고합니다.어떻게 문자열을 다차원 배열로 분할합니까?

지금까지 나는 전체적으로 아무런 문제가 없었지만, 나는이 어려움에 대해 지금 고심하고 있습니다. 나는 당신의 눈에 우스꽝스럽게 보입니다. 그것이 내가 당신에게로 오는 이유이며, 나는 그것을 연구하기 위해 노력했지만 아무런 걱정없이 성공을 거두었습니다.

여기에 내가 실제로 염두에두고 않는 것은 단지 "ID"큰 각 무리의 "이름"{} 추출하는 것입니다 내 목록

[{"id":"28", 
"name":"Whitechapel Station", 
"logo":"gfx\/whitechapel_station\/whitechapel_station_logo.gif", 
"x":"85129", 
"y":"36575", 
"extentsX1":"0", 
"extentsX2":"0", 
"extentsY1":"0", 
"extentsY2":"0", 
"zoomlevel":"4", 
"code":"PRJ", 
"asset_type":"fixed", 
"symbol":"project"} 

,{"id":"46", 
"name":"Connaught Tunnel", 
"logo":"gfx\/connaught_tunnel\/connaught_tunnel_logo.", 
"x":"91668", 
"y":"35238", 
"extentsX1":"0", 
"extentsX2":"0", 
"extentsY1":"0", 
"extentsY2":"0", 
"zoomlevel":"4", 
"code":"PRJ", 
"asset_type":"fixed", 
"symbol":"project"} 
] 

입니다. 아이디어가 있습니까?

건배 메이트.

클레멘트

편집 : 코드는 다음과 같이 일반적으로처럼되지 않습니다. 그것은 다음과 같이 단지 하나의 커다란 직선입니다.

[{"id":"28","name":"Whitechapel Station","logo":"gfx\/whitechapel_station\/whitechapel_station_logo.gif","x":"85129","y":"36575","extentsX1":"0","extentsX2":"0","extentsY1":"0","extentsY2":"0","zoomlevel":"4","code":"PRJ","asset_type":"fixed","symbol":"project"},{"id":"46","name":"Connaught Tunnel","logo":"gfx\/connaught_tunnel\/connaught_tunnel_logo.","x":"91668","y":"35238","extentsX1":"0","extentsX2":"0","extentsY1":"0","extentsY2":"0","zoomlevel":"4","code":"PRJ","asset_type":"fixed","symbol":"project"}] 
+3

가. 사전의 배열에 문자열을 역 직렬화. –

+0

다차원 배열? 당신이 그것을 필요로하지 않습니다 .. id, id 속성이있는 객체 목록을 가질 수 있습니다. – Anirudha

+0

@JeremyHolovacs가 제안한대로 할 수 있습니다. 데이터 JSON은 JSON 파서를 사용하여 필요한 것을 추출합니다. –

답변

4

당신이 JSON 형식으로 게시로 샘플입니다. JSOn 문자열을 비 직렬화하려면 JSON.NET과 같은 도구를 사용해야합니다.

먼저 deserialze하려는 속성을 일치 교류 # 개체를 만들 :

public class MyObject 
{ 
    public int id { get; set; } 
    public string name { get; set; } 
} 

그런 다음, 직렬화 :

var myObjects = JsonConvert.DeserializeObject<List<MyObject>>(theString); 

그런 다음, 값이 당신에게 사용할 수 있습니다 :

int id = myObjects[0].id; 
string name = myObjects[0].name; 
+0

더 복잡하지는 않습니까? 왜 키 - 값 쌍의 사전 대신 객체를 만드나요? –

+0

@JeremyHolovacs OP가 여러 소스를 언급하기 때문에 JSON이 각각 변경 될 것이라고 가정하므로 데이터를 정의하고 사용하는 가장 좋은 방법 인 것 같습니다. 그러나 동적 인 것을 포함하여 여러 형식으로 역 직렬화 할 수 있습니다. –

+0

그게 내 포인트 야. 당신은 모든 순열을위한 클래스를 만들겠습니까? OP가 원하는 유일한 것은 ID와 Name 값입니다. –

0

기본적으로 두꺼운 오류가 발생했습니다. 나는 각 [나]와 {또는} 사이의 문자를 "추가했다. 이 해결!

이 JSON.Net을 위해 뭔가처럼 보이는
관련 문제