숫자 필드에 제공된 문자열 표현에 액세스 할 수있는 C 기반 JSON 구문 분석기를 아는 사람이 있습니까? 무슨 뜻으로 예를 들어 :숫자를 파싱하는 것에 대해 게으른 JSON 파서?
json_t * dist = json_object_get(coord, "accuracy");
snprintf(dataOut->distance, MAX_COORD_LEN, "%f", json_number_value(dist));
이것은 단위 테스트를 작성하는 것은 어리 석고 어렵습니다. 나는 단순히 json_string_value(dist)
을 호출하고 그 번호에 들어온 문자열을 정확히 얻는 것을 선호한다. 그 문자열을 숫자로 바꾸는 것을 고심하지는 않을 것입니다. 그런 식으로 "54.6045"를 포함하는 테스트 문자열에 해당 필드를 입력하면 "54.6045"가 반환되고 패딩되거나 반올림 된 값은 반환되지 않습니다. 그리고 결코 그 번호를 파싱하지 않아도됩니다. 그것을 하나로 사용하십시오.
제가 말할 수있는 한, 그런 것은 없습니다 ... 나는 아주 바보 같습니다. 위의 예제는 Jansson에서 왔으며 문자열 값 함수를 사용하면 null을 반환합니다.
나는 이것 때문에 자기 자신을 쓰지 않아도되는 것을 정말로 좋아할 것이다.
당신이 이미 알고하지 않은 경우
, 왜 당신은 문자열을하지 않는다? 입력을 제어하지 않기 때문입니까? –