当前位置: 首页 > news >正文

深圳有做网站的公司有哪些亚马逊卖家可以做促销的网站

深圳有做网站的公司有哪些,亚马逊卖家可以做促销的网站,湖北网站seo设计,企业网站中文域名有必要续费吗JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式#xff0c;了解json请参考其官网http://json.org#xff0c;本文不再对json做介绍#xff0c;将重点介绍c的json解析库的使用方法。json官网上列出了各种语言对应的json解析库#xff0c;作者仅介绍自己使用…JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式了解json请参考其官网http://json.org本文不再对json做介绍将重点介绍c的json解析库的使用方法。json官网上列出了各种语言对应的json解析库作者仅介绍自己使用过的两种C的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。  一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码我下载的是v0.5.0压缩包大约107K解压在jsoncpp-src-0.5.0/makefiles/vs71目录里找到jsoncpp.sln用VS2003及以上版本编译默认生成静态链接库。  在工程中引用只需要include/json及.lib文件即可。  使用JsonCpp前先来熟悉几个主要的类 Json::Value     可以表示里所有的类型比如int,string,object,array等具体应用将会在后边示例中介绍。 Json::Reader   将json文件流或字符串解析到Json::Value, 主要函数有Parse。 Json::Writer    与Json::Reader相反将Json::Value转化成字符串流注意它的两个子类Json::FastWriter和Json::StyleWriter分别输出不带格式的json和带格式的json。  1. 从字符串解析json int ParseJsonFromString(){  const char* str “{“uploadid”: “UP000000”,“code”: 100,“msg”: “”,“files”: “”}”;   Json::Reader reader;  Json::Value root;  if (reader.parse(str, root))  // reader将Json字符串解析到rootroot将包含Json里所有子元素  {    std::string upload_id root[“uploadid”].asString();  // 访问节点upload_id “UP000000”    int code root[“code”].asInt();    // 访问节点code 100  }  return 0;} 2. 从文件解析json json文件内容 {    “uploadid”: “UP000000”,    “code”: “0”,    “msg”: “”,    “files”:    [        {            “code”: “0”,            “msg”: “”,            “filename”: “1D_16-35_1.jpg”,            “filesize”: “196690”,            “width”: “1024”,            “height”: “682”,            “images”:            [                {                    “url”: “fmn061/20111118”,                    “type”: “large”,                    “width”: “720”,                    “height”: “479”                },                {                    “url”: “fmn061/20111118”,                    “type”: “main”,                    “width”: “200”,                    “height”: “133”                }            ]        }    ]}  解析代码 int ParseJsonFromFile(const char* filename){  // 解析json用Json::Reader  Json::Reader reader;  // Json::Value是一种很重要的类型可以代表任意类型。如int, string, object, array…  Json::Value root;          std::ifstream is;  is.open (filename, std::ios::binary );    if (reader.parse(is, root))  {    std::string code;    if (!root[“files”].isNull())  // 访问节点Access an object value by name, create a null member if it does not exist.      code root[“uploadid”].asString();        // 访问节点Return the member named key if it exist, defaultValue otherwise.    code root.get(“uploadid”, “null”).asString();     // 得到files的数组个数    int file_size root[“files”].size();     // 遍历数组    for(int i 0; i file_size; i)    {      Json::Value val_image root[“files”][i][“images”];      int image_size val_image.size();      for(int j 0; j image_size; j)      {        std::string type val_image[j][“type”].asString();        std::string url val_image[j][“url”].asString();      }    }  }  is.close();  return 0;}  3. 在json结构中插入json     Json::Value arrayObj;   // 构建对象    Json::Value new_item, new_item1;    new_item[“date”] “2011-12-28”;    new_item1[“time”] “22:30:36”;    arrayObj.append(new_item);  // 插入数组成员    arrayObj.append(new_item1); // 插入数组成员    int file_size root[“files”].size();    for(int i 0; i file_size; i)      root[“files”][i][“exifs”] arrayObj;   // 插入原json中  4. 输出json // 转换为字符串带格式std::string out root.toStyledString();// 输出无格式json字符串Json::FastWriter writer;std::string out2 writer.write(root); 二. 使用Boost property_tree解析json property_tree可以解析xmljsoniniinfo等格式的数据用property_tree解析这几种格式使用方法很相似。 解析json很简单命名空间为boost::property_treereson_json函数将文件流、字符串解析到ptreewrite_json将ptree输出为字符串或文件流。其余的都是对ptree的操作。 解析json需要加头文件 #include boost/property_tree/ptree.hpp #include boost/property_tree/json_parser.hpp 解析json 解析一段下面的数据 {  “code”: 0,  “images”:  [    {      “url”: “fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg”    },    {      “url”: “fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg”    }  ]}int ParseJson(){  std::string str “{“code”:0,“images”:[{“url”:“fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg”},{“url”:“fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg”}]}”;  using namespace boost::property_tree;   std::stringstream ss(str);  ptree pt;  try{        read_json(ss, pt);  }  catch(ptree_error e) {    return 1;   }   try{    int code pt.get(“code”);   // 得到code的value    ptree image_array pt.get_child(“images”);  // get_child得到数组对象        // 遍历数组    BOOST_FOREACH(boost::property_tree::ptree::value_type v, image_array)    {      std::stringstream s;      write_json(s, v.second);      std::string image_item s.str();    }  }  catch (ptree_error e)  {    return 2;  }  return 0;}构造json int InsertJson(){  std::string str “{“code”:0,“images”:[{“url”:“fmn057/20111221/1130/head_kJoO_05d9000251de125c.jpg”},{“url”:“fmn057/20111221/1130/original_kJoO_05d9000251de125c.jpg”}]}”;  using namespace boost::property_tree;   std::stringstream ss(str);  ptree pt;  try{        read_json(ss, pt);  }  catch(ptree_error e) {    return 1;   }   // 修改/增加一个key-valuekey不存在则增加  pt.put(“upid”, “00001”);   // 插入一个数组  ptree exif_array;  ptree array1, array2, array3;  array1.put(“Make”, “NIKON”);  array2.put(“DateTime”, “2011:05:31 06:47:09”);  array3.put(“Software”, “Ver.1.01”);  exif_array.push_back(std::make_pair(, array1));  exif_array.push_back(std::make_pair(, array2));  exif_array.push_back(std::make_pair(, array3)); //   exif_array.push_back(std::make_pair(“Make”, “NIKON”));//   exif_array.push_back(std::make_pair(“DateTime”, “2011:05:31 06:47:09”));//   exif_array.push_back(std::make_pair(“Software”, “Ver.1.01”));   pt.put_child(“exifs”, exif_array);  std::stringstream s2;  write_json(s2, pt);  std::string outstr s2.str();   return 0;}   三. 两种解析库的使用经验用boost::property_tree解析字符串遇到/时解析失败而jsoncpp可以解析成功要知道’/‘前面加一个’是JSON标准格式。boost::property_tree的read_json和write_json在多线程中使用会引起崩溃。 针对1可以在使用boost::property_tree解析前写个函数去掉/中的’’针对2在多线程中同步一下可以解决。 我的使用心得使用boost::property_tree不仅可以解析json还可以解析xmlinfo等格式的数据。对于解析json使用boost::property_tree解析还可以忍受但解析xml由于遇到问题太多只能换其它库了 作者zhenyonghou 来源CSDN 原文https://blog.csdn.net/hzyong_c/article/details/7163589?utm_sourcecopy 版权声明本文为博主原创文章转载请附上博文链接
http://www.pierceye.com/news/662707/

相关文章:

  • 电商网站竞价推广策略淘宝做问卷的网站
  • 门窗 东莞网站建设婚庆公司收费标准
  • 网站页面下沉的特效代码网络建设存在的问题
  • 给网站做维护是什么工作网页怎么赚钱
  • 三丰云做游戏网站win主机安装wordpress
  • 网站建设黄荣vuejs做视频网站设计
  • 手机怎样下载安装建设银行网站企业通过网络推广成功的案例
  • 门户网站开发工具软件哪个公司的网络最好用
  • 河南省住房和城乡建设厅查询网站首页舆情网站推荐
  • 网页设计是网站建设与管理的内容吗公司网络营销的方案思路
  • 商业授权网站标题优化技巧
  • 班级网站做哪些方面阿里云市场网站建设
  • 2345网站登录电子工程师有前途吗
  • 网站建设企业邮箱制作网站山东平台网站建设制作
  • 仿新浪微博网站代码国家高新技术企业公示
  • 遵义网站建设公司电话多少成都网站优化seo
  • 宝安网站设计排名网站建设收费标准资讯
  • 景安怎么把网站做别名西安网站优化seo
  • 长沙专业网站建设怎么做云南昆明百度推广公司
  • 网页制作网站的大作业网站开发怎么设置打印按钮
  • 金乡网站建设哪家便宜建网站解决方案
  • 大港油田建设官方网站怎么帮人做网站
  • nginx建设网站教程wordpress文章列表格子
  • 山东网站开发学校深圳福田网站建设公司
  • 做电商网站的框架结构图江西省住房和城乡建设厅
  • 运输网站建设网站上的销售怎么做的
  • ps做网站首页效果图潮安区住房和城乡建设局网站
  • 商业网站怎么做做图赚钱的网站
  • 如何建立微信网站工作室暴利项目
  • 购物网站建设模板下载家在深圳 歌曲