1. 程式人生 > 其它 >cJSON解析巢狀json報錯問題記錄

cJSON解析巢狀json報錯問題記錄

技術標籤:jsonc語言

1.cJSON的使用參照部落格

https://blog.csdn.net/lintax/article/details/50993958

1),下載原始碼:

可以從如下網站來下載:https://sourceforge.net/projects/cjson/

2),包含cJSON的原始碼:

下載下來,解壓後,從裡面找到兩個檔案(cJSON.c、cJSON.h),複製到我們的工程裡面。只需在函式中包含標頭檔案(#include “cJSON.h”),然後和cJSON.c一起編譯即可使用

2.自己使用cJSON解析巢狀遇到的問題:

解析巢狀json可參照: https://www.cnblogs.com/fengbohello/p/4363007.html

cJSON可以解析的巢狀格式為:

{
    "time": 20210203,
    "data": {
        "gsensor": {
            "x": 1,
            "y": 2,
            "z": 3
        },
        "gyro": {
            "x": 4,
            "y": 5,
            "z": 6
        },
        "speed": 0.0,
        "latitude": 1.00000001,
        "longitude": 11.00000001
    }
}

cJSON解析報錯的巢狀格式為:

{
    "time": 20210203,
    "data": [{
        "gsensor": [{
            "x": 1,
            "y": 2,
            "z": 3
        }],
        "gyro": [{
            "x": 4,
            "y": 5,
            "z": 6
        }],
        "speed": 0.0,
        "latitude": 1.00000001,
        "longitude": 11.00000001
    }]
}

兩種差別就在' [ ] '符號的使用,json還沒仔細瞭解,具體原因沒去解析cJSON.c