[英]Parse JSON response?
我正在嘗試從arduino中解析來自Web服務器的JSON響應,以便打開和關閉LED燈。 我正在使用WiFi客戶端重復示例向服務器發出GET請求 。
這是我發出GET請求的部分,它將JSON響應輸出到串行端口:
client.println("GET /abc/bze/ HTTP/1.1");
client.println("Host: www.abc.ca");
client.println("User-Agent: ArduinoWiFi/1.1");
client.println("Connection: close");
client.println();
我的JSON看起來像這樣
{"lightstatus":"on"}
但是,如何僅解析JSON響應,以便可以使用它來控制我的LED? 謝謝。
如果您想一般地解析JSON,則阻力最小的路徑是一個好的庫 。
但是, 如果您只想收到像您的示例一樣簡單的內容,則可能會遇到麻煩。 誠然,以下是C ,這是我在幾分鍾之內最容易完成的工作,但是我敢肯定,將其轉換為C ++不會有任何困難。
#include <stdio.h>
#define BUFLEN (100)
int main(void) {
char *json[] = {
"{\"lightstatus\":\"on\"}",
"{\"lightstatus\":\"off\"}",
"{\"foo\":\"bar\"}",
"{\"baz\":\"quux\"}"
};
char key[BUFLEN];
char val[BUFLEN];
for(int i=0; i<sizeof(json)/sizeof(char *); i++) {
sscanf(json[i], "{\"%[^\"]\":\"%[^\"]\"}", key, val);
printf("The value of '%s' is '%s'\n", key, val);
}
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.