ESP8266 기반 JSON 분석 실례 분석
JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다.프로그래밍 언어에 완전히 독립된 텍스트 형식으로 데이터를 저장하고 표시합니다.간결하고 차원 구조가 뚜렷한 특징으로 인해 JSON은 사람들이 쉽게 읽고 작성하는 동시에 기계적으로 해석하고 생성하기 쉬우며 네트워크 전송 효율을 효과적으로 향상시켰다.
JSON은 두 가지 구조로 구성됩니다.
\"이름/값"쌍의 집합(A collection of name/value pairs).흔히 말하는 Key/Value 키/값 쌍입니다.서로 다른 언어에서는 대상(object), 기록(record), 구조(struct), 사전(dictionary), 해시표(hash table), 키 목록(keyed list), 또는 관련 수조(associative array)로 이해된다.값에는 시퀀스 테이블(An ordered list of values)이 있습니다.대부분의 언어에서, 그것은 수조 (array) 로 이해된다.
eps8266의 대표적인 사례:
여기에서 esp8266에서 해석할 수 있는 가장 간단한 예를 제시한다.
#include
#include
#include "cJSON.h"
void printJson(cJSON * root)// json
{
for(int i=0; itype) // cJSON_Object printJson
printJson(item);
else // json
{
printf("%s->", item->string);
//printf("%s
", cJSON_Print(item));//
}
}
}
int main()
{
char * jsonStr = "{\"semantic\":{\"slots\":{\"name\":\"Charlin\"}}, \"rc\":0, \"operation\":\"CALL\", \"service\":\"telephone\", \"text\":\" Charlin\"}";
cJSON * root = NULL;
cJSON * item = NULL;//cjson
root = cJSON_Parse(jsonStr);
if (!root)
{
printf("Error before: [%s]
",cJSON_GetErrorPtr());
}
else
{
printf("%s
", " Json:");
printf("%s
", cJSON_Print(root));//
printf("%s
", " json:");
printf("%s
", cJSON_PrintUnformatted(root));//
printf("%s
", " name :");
printf("%s
", " semantic cjson :");
item = cJSON_GetObjectItem(root, "semantic");//
printf("%s
", cJSON_Print(item));//
printf("%s
", " slots cjson ");
item = cJSON_GetObjectItem(item, "slots");
printf("%s
", cJSON_Print(item));//
printf("%s
", " name cjson ");
item = cJSON_GetObjectItem(item, "name");
printf("%s
", cJSON_Print(item));//
printf("%s:", item->string); // cjson
printf("%s
", item->valuestring);
printf("
%s
", " json :");
printJson(root);
}
if(root)
cJSON_Delete(root); //
return 0;
}
여기서 가장 간단한 예는 다음과 같습니다: (https://zhuanlan.zhihu.com/p/53730181)
겸사겸사 광고를 하나 하겠습니다. 본 팀은 ESP8266의 방안 업무를 맡고 수요가 있는 친구는 환음 상담을 받습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.