JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式, 格式簡(jiǎn)潔清晰,易于人閱讀和編寫(xiě),也易于機(jī)器的解析和生成。目前Json成為了主流數(shù)據(jù)存儲(chǔ)和交換格式。
JSON in python
python 自帶json module, 可以很好的完成相關(guān)操作。
用python讀取json 文件
import json
with open("data.json", encoding = "utf-8") as f:
config = json.load(f)
有時(shí)候遇到的parse問(wèn)題一般是encoding沒(méi)有設(shè)置好。
用python寫(xiě)入json 文件
import json
with open("output.json", "w") as f:
json.dump(config, f, indent = 4)
indent 是為了output美觀,易于人閱讀。
JSON in C++
nlohmann/json.hpp 一個(gè)非常棒的庫(kù)
https://github.com/nlohmann/json
#include <nlohmann/json.hpp>
std::ifstream f;
f.open(config_file.c_str());
// if file does not exists, assert false
if (!f.is_open())
{
KT_CRITICAL("strategy config file {} does not exist", config_file);
assert(false);
}
json strat_config = json::parse(f);
f.close();