jsoncpp 备忘笔记

来源:互联网 发布:清华大数据产业联合会 编辑:程序博客网 时间:2024/06/05 06:36


注意:  try catche 一定放在里面:

                try {                    //////////////////////////////////                    //  decoding                    /////////////////////////////////                    std::istringstream istrm(usual_driving_area_json_str);                    Json::Value root1;                    istrm>>root1;                    roadDB_logger::d(aream::CUR_TAG,"drive area str:%s",root1["usual_driving_area"].asCString());                    Json::Value val_array = root1["usual_driving_area"];                    int32_t iSize = val_array.size();                    for ( int32_t nIndex = 0;nIndex < iSize;++ nIndex )                    {                        roadDB_logger::d(aream::CUR_TAG,"has area : %i",val_array[nIndex].asCString());                        segInfo_t tmp_seg= {val_array[nIndex].asInt()};                        segPack.push_back(tmp_seg);                    }                } catch (std::exception & ex) {                    std::cout<<"!!!!"<<ex.what()<<std::endl;                    segPack.clear();                }


如题

int main()  {  数组创建与分析:  例子一:  string strValue = "{\"ldh\":\"001\",\"gfc\":\"002\",\"yyj\":\"003\",\"andy\":[\"005\",\"123\",\"true\"]}";  Json::Reader read;  Json::Value value;  value["ldh"] = "001";  value["gfc"] = "002";  value["andy"].append( "005" );  value["andy"].append( "123" );  value["andy"].append( "true" );  //if( read.parse( strValue,value ) )  {  Json::Value val_array = value["andy"];  int iSize = val_array.size();  for ( int nIndex = 0;nIndex < iSize;++ nIndex )  {  cout<<val_array[nIndex]<<endl;  }  }      例子二:  Json::Reader read;  Json::Value value;  value["ldh"] = "001";  value["gfc"] = "002";  Value item;  Value array;  item["andy1"] = "005";  array.append( item );  item["andy1"] = "123";  array.append( item );  item["andy1"] = "true";  array.append( item );  value["andy"] = array;  cout<<value.toStyledString()<<endl;  Json::Value val_array = value["andy"];  int iSize = val_array.size();  for ( int nIndex = 0;nIndex < iSize;++ nIndex )  {  cout<<val_array[nIndex]<<endl;  if ( !val_array[nIndex]["andy1"].isNull() )  {  cout<<val_array[nIndex]["andy1"]<<endl;  }  }      例子三:  std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";    Json::Value value;  Reader read;  if ( !read.parse( strValue,value ) )  {  return -1;  }  cout<<value.toStyledString()<<endl;  Json::Value val_array = value["array"];  int iSize = val_array.size();  for ( int nIndex = 0;nIndex < iSize;++ nIndex )  {  cout<<val_array[nIndex]<<endl;  if ( val_array[nIndex].isMember( "cpp" ) )  {  cout<<val_array[nIndex]["cpp"]<<endl;  }  }    getchar();  return 0;  }  





原创粉丝点击