-edit- 속성을 사용하여 해결책이 있습니까?.NET json [1,2, "three"]을 처리하는 가장 좋은 방법
나는 이상한 json을 발견했다. 아래 문자열과 같습니다. 내가 그것을 처리 할 생각할 수있는 유일한 방법은 개체 배열을 사용하는 것입니다. int와 문자열이 아래 배열로 섞여있는 것을 본 적이 없습니다.
그럼 저는 강제로 형 변환합니다. int와 문자열을 얻는 더 좋은 방법이 있습니까?
참고 : 첫 번째 배열에는 0-20 개의 요소가있을 수 있습니다. 내부의 배열에는 항상 3이 있고 처음 두 개는 int이고 세 번째는 문자열입니다. 어쩌면 내가이 지식을 내 이점으로 사용할 수 있을까?
{
var ser = new JavaScriptSerializer();
var o = ser.Deserialize<RootObj>(@"{""resources"": [[123,567,""<div ...""]]}");
var o2 = o.resources[0];
var v = (int)o2[1];
var sz = (string)o2[2];
}
class RootObj {
public object[][] resources;
}
잘못된 입력, 잘못된 출력. 내 지식으로는 잘못된 json을 생성하는 프로그램/스크립트를 수정하는 것 (즉, 배열 배열 대신 객체 배열을 사용하는 것)을 제외하고는 할 수있는 일이 없습니다. 부가 메모 : 당신이 프로덕션에서 그러한 변수 이름을 사용하지 않기를 바랍니다. – dbemerlin
dbemerlin : 5 개의 라이닝 된 함수에만 해당). 우리는 그것을 수정할 수 없습니다. 그것은 제 3 자로부터 왔고 그들은 이것을 생산에 넣었습니다. 그래서 나는 그것에 매달 렸습니다. –
@dbemerlin : 아름답지는 않지만, 입력은 여전히 유효한 JSON입니다. – Thanatos