簡體   English   中英

解析JSON響應?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM