Json库
来源:互联网 发布:麻瓜 python 编辑:程序博客网 时间:2024/05/21 09:34
选择第三方库JsonCpp来解析json,JsonCpp是比较出名的c++解析库,在json官网也是首推的。下载地址是:http://sourceforge.net/projects/jsoncpp/。或者到http://download.csdn.net/detail/wklnewlife/4008660
注意: Json::Value只能处理ANSI类型的字符串,如果C++程序使用Unicode编码的,最好加一个Adapt类来适配。
实例:
void CJSONDlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码//OnOK();//解析json字符串std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";Json::Reader reader;Json::Value value;if (reader.parse(strValue, value)){std::string out = value["name"].asString();AfxMessageBox(CString(out.c_str()));const Json::Value arrayObj = value["array"];for (unsigned int i=0;i<arrayObj.size(); i++){if (!arrayObj[i].isMember("cpp")){continue;}out = arrayObj[i]["cpp"].asString();AfxMessageBox(CString(out.c_str()));}}//序列化json对象Json::Value root;Json::Value arrayObj;Json::Value item;item["cpp"] = "jsoncpp"; item["java"] = "jsoninjava"; item["php"] = "support"; arrayObj.append(item); root["name"] = "json"; root["array"] = arrayObj; std::string out= root.toStyledString(); AfxMessageBox(CString(out.c_str()));}
补充:具体sting和cstring转换详见《c/c++随笔》
- Json库
- JSON库解析json文件
- JSON 解析 - java库org.json简介
- JSON解析 - java库org.json使用
- json-lib库用法
- json-lib库用法
- JSON库文件打包
- iphone-json库
- android json 库说明
- ubuntu 安装json库
- Erlang的Json库
- android:json解析库
- IOS解析JSON库
- json-cpp 库使用
- android:json解析库
- json-c库例子
- Unity3d Json解析库
- boost库 json解析
- android控件之ToggleButton
- silverlight 例子系列
- andriod 2.3.3 marvell 8787 wifi移植
- java实现ping功能
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- Json库
- Linux Shell编程入门
- Android 移植之 WIFI
- NYOJ4 ASCII排序
- 交叉编译时报错:/usr/bin/ld: cannot find -lc
- Android中TabWidget的应用
- .NET连接池的配置
- android wifi ralink rt3070开发记录
- c++ Pointers vs References