cainiao3925 2019-12-27 11:55 采纳率: 100%
浏览 1075
已采纳

c++用jsoncpp读取json文件并,有数千个数据,求把这些数据转成数组?

我有一个json文件,现在想把里面的数据读取出来,并转化为数组或是线性表。
文件是这样的,有数千个类似的这样的。我在网上找了很多的教程,但是里面的例子一般都是直接
int comment = root["comment"].asInt();
但是我这里有数千个,而且后面要统计from相同的数量等等,所以想用数组或者是线性表来存储,方便后面。
因为是第一次接触json,完全菜鸟,所以很多概念都不了解,希望各位大神能够给一些简单一点的回答,非常感谢

[
{
"comment": 0,
"from": "北京-北京市-海淀区",
"comments": [],
"to": "河北省-承德市-隆化县",
"score": "0",
"corp": "兴铁物流",
"time": "1398175318.988036"
},
void readFileJson()
{

根据网上的教程就写了一点点,我把添加到了源文件那里,可是好像打不开,运行的话就直接弹出Error poening file
void readFileJson()

{

Json::Reader reader;//json解析
Json::Value root;//表示一个json格式的对象 
ifstream in("rating(1).json", ios::binary);

if (!in.is_open())
{
    cout << "Error opening file\n";
    return;
}
  • 写回答

2条回答 默认 最新

  • 铲灰 2019-12-27 17:10
    关注

    int main()
    {
    ifstream infile;
    ///这里好像要有用绝对路径
    infile.open("/home/xxx/xxx/xxx/data.json", ios::binary);
    if (!infile.is_open())
    {
    cout << "file open failure" << endl;
    return 0;
    }
    std::string data;
    char str[1000] = {0};
    while(!infile.eof())
    {
    infile>>str;
    data += str;
    memset(str, 0, sizeof(str));
    }
    infile.close();
    Json::Reader reader;
    Json::Value root;
    if (!reader.parse(data.c_str(), root))
    {
    return -1;
    }
    cout << root << endl;
    return 0;
    }

    ------json数据,json数据最后一个元素后不能跟逗号(,)--------
    [
    {
    "comment": 0,
    "from": "北京-北京市-海淀区",
    "comments": [],
    "to": "河北省-承德市-隆化县",
    "score": "0",
    "corp": "兴铁物流",
    "time": "1398175318.988036"
    },
    {
    "comment": 0,
    "from": "北京-北京市-海淀区",
    "comments": [],
    "to": "河北省-承德市-隆化县",
    "score": "0",
    "corp": "兴铁物流",
    "time": "1398175318.988036"
    }
    ]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 为什么eprime输出的数据会有缺失?
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题