October에 JSON 컴파일러 및 디 컴파일러를 작성했습니다. 다른 사람들의 JSON에 대해 tests의 무리를 실행 한 후, 나는 그것이 효과가 있고 만족감을 느꼈다. 대부분 컴파일러에 초점을 맞추 었습니다. 컴파일러는 주로 사람들이 당신에게 던질 수있는 모든 변수를 이해하려고 노력하기 때문에 컴파일러에 집중했습니다. JSON은 광고 된대로 매우 쉽게 작업 할 수있었습니다 (그래도 쉬운 일은 아니지만 imho 일 수 있음). 문제 없어.JSON에서 목록을 사용하는 경우
이제 우리는 견인력을 얻기 시작하는 형식을 가지고 있습니다. 의 스트림은 River2입니다. Javascript 개발자는이 데이터의 렌더링에 working을 사용하고 있습니다.이 중 일부는 이미 내가 사용한 것보다 훨씬 좋지만 아직 전환 할 수있는 기능은 없습니다.
하지만 JSON에 문제가 있습니다.
뉴스 비트의 각 그룹은 피드 이름, URL, 피드를 마지막으로 읽은 시간 등의 스칼라 데이터로 구성됩니다. 그런 다음 하나 이상의 뉴스 항목이 있습니다. 항목이 하나뿐이라면 item이라는 구조체 만 포함하면됩니다. 하나 이상의 구조체가 있다면 구조체 목록을 포함합니다. 목록의 이름은 item입니다. JSON에서 반복되는 요소에 대한 규칙이라고 이해했습니다. 화면에서
http://scripting.com/images/2010/12/17/jsonShot.gif
는 두 개의 "updatedFeed"요소가 위에서 촬영. 첫 번째 항목에는 하나의 항목 만 있고 두 번째 항목에는 둘 이상의 항목이 있습니다.일부 언어의 사람들에게 문제를 일으키는 이유는 (분명히) 사전에 유형을 알지 못한 채로 객체를 다루는 것이 어렵 기 때문입니다. 그래서 그들은 해결책이 간단하다고 항상 말합니다. 그들을 위해 간단하지만 ... :-)
그러나 이것은 내 마지막에는 그렇게 간단하지 않습니다. 일반 JSON 시리얼 라이저를 사용하고 있기 때문에 "항목"이 항상 목록이어야한다는 것을 알 수있는 방법이 없습니다. 그렇지 않으면 ...
이 문제를 해결하는 한 가지 방법은 모든 것을 목록으로 만드는 것입니다.
다른 JSON 제작 환경이 이와 같은 상황에서 어떤 일을하는지 궁금합니다.
"item"은 일반적으로 단일 항목을 나타냅니다. 시퀀스에 실제로 하나의 요소 만있는 경우에도 시퀀스를 암시하기 때문에 "항목"이라고 부르는 것이 더 나을 것입니다. –
왜 모든 경우에 목록으로 만들 수 없습니까? 애플리케이션에 데이터가 어떻게 표시됩니까? 어떤 언어를 사용합니까? – jwueller
JSON으로 변환 할 언어에 대해 이야기하고 다시 이야기하는 것이 도움이 될 것이라고 생각합니다. Frontier는 처음 사용 된 이후로 사용하지 않았지만 (실제로는 파고 만 한 것뿐입니다), 단일 항목 배열/목록으로 시작할 수 있어야하며 serializer에 문제가 없어야합니다. – ohmantics