在使用switch case时如何使用迭代器并获取存储在json文件中的值?

时间:2019-01-30 08:48:33

标签: jsoncpp

我必须在代码中使用迭代器,并且必须使用切换用例提取存储在myjson文件中的值。但是我做不到。

下面是Json文件:

{
  "Name": "Anurag",
    "Company": "Cognizant",
   "cgpa": 8.1,
   "Id": 679978,
   "location": "Noida, NCR 201301"
}

代码:

#include <iostream>
#include <fstream>
#include <typeinfo>
#include <jsoncpp/json/json.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>



using namespace std;

int main(){
    ifstream ifs("leenu.json");
    Json::Reader read;
    Json::Value obj;
    read.parse(ifs,obj);
 for(Json::Value::iterator it=obj.begin();it!=obj.end();it++ )

    {

    switch(){

        case Json::nullValue:
             cout << "null\n";
             break;
        case Json::intValue:
             cout << "int " << obj[it].asLargestInt() << "\n";
             break;
        case Json::stringValue:
             cout << "string " << obj[it].asString() << "\n";
             break;
        case Json::uintValue:
             cout << "uint " << obj[it].asLargestUInt() << "\n";
             break;
        case Json::realValue:
             cout << "real " << obj[it].asDouble() << "\n";
             break;
        case Json::booleanValue:
             cout << "boolean " << obj[it].asBool() << "\n";
             break;
        case Json::arrayValue:
             cout << "array of length " << obj.size() << "\n";
             break;
        case Json::objectValue:
             cout << "object of length " << obj.size() << "\n";
             break;
        default:
             cout << "wrong type\n";
             break;

    }
}

return 0;

如何使开关盒工作?我应该在开关盒里放些什么? 如何使用迭代器?

0 个答案:

没有答案
相关问题