C語言一直以來都是一種非常廣泛應用的編程語言,在許多領域都有它的身影,而JSON也是一個十分流行的數據傳輸格式,那么在C語言中如何將JSON轉化成ilist<>呢?
// 假設以下內容是JSON字符串 const char* jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; // 引入相關庫 #include <iostream> #include <ilist> #include <json/value.h> using namespace std; // 定義函數 ilist<string> jsonToIList(const char* jsonString) { ilist<string> list; Json::Value jsonValue; Json::CharReaderBuilder builder; Json::CharReader* reader = builder.newCharReader(); JSONCPP_STRING error; // 將JSON字符串解析成Json::Value類型 if (reader->parse(jsonString, jsonString + strlen(jsonString), &jsonValue, &error)) { list.push_back(jsonValue["name"].asString()); list.push_back(jsonValue["age"].asString()); list.push_back(jsonValue["city"].asString()); } // 釋放內存 delete reader; return list; } // 調用函數 int main() { ilist<string> list = jsonToIList(jsonString); for (auto& s : list) { cout << s << endl; } return 0; }
在上述代碼中,我們先定義了一個JSON字符串,通過引入相關的庫,我們實現了將JSON轉化成ilist<>,這里我們使用了Jsoncpp這個庫,可以方便地解析JSON字符串。具體實現過程中,我們先將JSON字符串解析成Json::Value類型,然后將其中的元素轉化成string類型,最后將其添加到ilist中即可。