字符串寫入到json文件
阿新 • • 發佈:2018-01-13
out string php 文件 圖片 spa class val log
背景: PHP產生公告 ,發送到CGI ,在CGI把該公告的json 字符串寫入到文件內(轉義後的字符串)
通過 jsoncpp 操作
int write_notice_to_json(string str_path, const string& str_content) { Json::Reader reader; Json::FastWriter writer; Json::Value root; if (false == reader.parse(str_content, root)) // reader將Json字符串解析到root,root將包含Json裏所有子元素{ return RESULT_ERROR; } std::string json_file = writer.write(root); ofstream ofs; ofs.open(str_path.c_str(), ofstream::out); if (ofs.is_open()) { ofs << json_file; ofs.close(); returnRESULT_OK; } return RESULT_ERROR; }
今天來到公司終於搞定了 mark一下
收到的字符串內容:
{\"Notice\":{\"NoticeVersion\":\"1414\",\"noticeContent\":[{\"Image\":\"notice\\/notice01\",\"ImageWidth\":\"350\",\"ImageHeight\":\"5\"},{\"Image\":\"notice\\/notice02\",\"ImageWidth\":\"350\",\"ImageHeight\":\"5\"},\"jghjfghjfghj\"]}}
存到文件後
踩的坑:一開始想通過C++ 替換掉轉義字符串 但是不起作用
CStringUtils::Replace(m_str_content, "\\\"", "\"");
字符串寫入到json文件