programing

C를 사용한 JSON 해석

shortcode 2022. 10. 25. 20:25
반응형

C를 사용한 JSON 해석

C에서 JSON을 해석할 수 있는 좋은 방법을 찾고 있습니다.큰 라이브러리 같은 것은 필요 없습니다.최소한의 기능을 갖춘 작고 가벼운 것을 원합니다만, 좋은 문서가 필요합니다.

누구 저 좀 가리켜 줄 사람 없나요?

Json은 처음에는 큰 언어가 아니기 때문에 라이브러리가 작을 가능성이 있습니다(적어도 XML 라이브러리보다 작습니다).

Json.org에는 수많은 C 라이브러리가 링크되어 있습니다.그 중 하나가 당신에게 잘 맞을지도 몰라요.

cJSON은 API가 적절하고 크기가 작다(2개의 파일, 최대 700줄).처음에 본 JSON 파서들은 엄청 컸는데...JSON을 해석하고 싶어서요

편집: 수년간 cJSON이 개선되었습니다.

NXJSON은 풀기능이지만 매우 작은(최대 400줄의 코드) JSON 파서로 사용하기 쉽습니다.

const nx_json* json=nx_json_parse_utf8(code);
printf("hello=%s\n", nx_json_get(json, "hello")->text_value);
const nx_json* arr=nx_json_get(json, "my-array");
int i;
for (i=0; i<arr->length; i++) {
  const nx_json* item=nx_json_item(arr, i);
  printf("arr[%d]=(%d) %ld\n", i, (int)item->type, item->int_value);
}
nx_json_free(json);

Jsmn은 매우 미니멀리즘적이며 사용할 수 있는 함수는 2개뿐입니다.

https://github.com/zserge/jsmn

Jansson을 볼 수 있습니다.

이 웹 사이트에는 다음과 같이 기술되어 있습니다.Janson은 JSON 데이터를 인코딩, 디코딩 및 조작하기 위한 C 라이브러리입니다.특징:

  • 심플하고 직관적인 API 및 데이터 모델
  • JSON으로 인코딩 및 디코딩할 수 있습니다.
  • 포괄적인 문서
  • 다른 라이브러리에 의존하지 않음
  • Unicode 완전 지원(UTF-8)
  • 광범위한 테스트 스위트

임의의 JSON 구조를 해석해야 합니까?아니면 어플리케이션 고유의 데이터만 해석해야 합니까?후자의 경우 JSON 키를 값에 매핑하는 해시 테이블/맵 구조를 생성하지 않아도 되므로 훨씬 가볍고 효율적입니다.대신 데이터를 구조 필드 등에 직접 저장할 수 있습니다.

JSON-C를 작업 프로젝트에 사용했는데 추천하고 싶습니다.경량이며 오픈 라이선스로 출시됩니다.

배포에는 설명서가 포함되어 있습니다.기본적으로는*_addJSON 객체를 생성하는 함수, 동등한 기능*_put메모리 해방 함수 및 유형 및 출력 객체를 문자열 표현으로 변환하는 유틸리티 함수입니다.

라이선스를 통해 프로젝트에 포함할 수 있습니다.이와 같이 JSON-C를 메인 빌드와 링크된 정적 라이브러리로 컴파일했습니다.이렇게 하면 Xcode 설치 이외의 종속성에 대해 걱정할 필요가 없습니다.

또한 JSON-C는 OS X(x86 Intel) 및 Linux(x86 Intel) 환경에서 문제 없이 구축되었습니다.프로젝트를 휴대할 필요가 있는 경우, 이것은 좋은 시작입니다.

언급URL : https://stackoverflow.com/questions/6673936/parsing-json-using-c

반응형