语言:c++,数据库:SQLite,问题:怎么把json格式的数据存进去。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

语言:c++,数据库:SQLite,问题:怎么把json格式的数据存进去。

2016-03-09 16:48:47 3016 1

node表是:(ID string,NODE string)

自己的处理:利用jsoncpp,做了一个插入函数

bool ObjManagement::AddJson(string JsonStr)
{
    Json::Reader reader;
    Json::Value json_object;
    reader.parse(JsonStr, json_object, false);
    string jsonID = json_object["ID"].toStyledString();
    cout <<"解析到的jsonID:"<< jsonID << endl;
    string jsonobj = json_object["AVP_LIST"].toStyledString();
    string sqlInsert = "insert into  node values(" + jsonID + ",\"" + jsonobj.c_str() +"\");";
    cout << "拼接成的sqlInsert:" << sqlInsert << endl;
    sqlite3_exec(pdb, sqlInsert.c_str(), 0, 0, &errMsg);
    if (errMsg)
    {
        cout << "ObjManagement: \t sqlInsert:\t" << errMsg << endl;
        return false;
    }
    return true;
}
main函数如下

int main()
{
    DataBaseManagement *dbm = new DataBaseManagement();
    ObjManagement  *omg = new ObjManagement();
    string strjson = "{\"ID\": \"6851950\", \"AVP_LIST\": [{\"ATTRIBUTE\": \"中文名\", \"VALUE\": \"吴映洁\"}]}";
    cout<<strjson<<endl;
    omg->AddJson(strjson);
    dbm->CloseDb();
    getchar();
}

得到的结果:
screenshot

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 18:56:25

    我是把json写在一个文本里,,然后读取文本里的json,对它进行操作,没有报错,具体原因,我也不太清楚。主要的原因可能是我一开始那个json格式写的不规范,有错误吧。也特别感谢@Windoze ,sql确实要注意用单引号的问题,我程序的其他模块有的地方就是没写成单引号而出错。

    f.open("E:\\test.txt");

    if (!f)

    cout << "error";

    //解析Json的方法
    Json::Reader reader;
    Json::Value json_object;
    reader.parse(f, json_object, false);
    f.close();
    test.txt里的内容:

    {"ID": "394557", "AVP_LIST": [{"ATTRIBUTE": "topic_equivalent_webpage", "VALUE": "http://baike.baidu.com/

    0 0
相关问答

1

回答

c++有时候不能调用max函数

2020-05-27 15:36:16 1188浏览量 回答数 1

1

回答

c++里的string的find()函数和KMP算法相比哪个效率更高

2018-07-22 13:42:58 4663浏览量 回答数 1

1

回答

C++,编写函数void reverse(string &s),用递归算法使字符s倒序。

2018-07-20 09:48:19 2751浏览量 回答数 1

1

回答

C/C++ math.h中的函数传相同参数进去返回的值一定相同吗?

2016-06-07 18:30:53 1719浏览量 回答数 1

1

回答

C/C++关于在函数中使用数组的问题

2016-06-07 18:21:06 1669浏览量 回答数 1

1

回答

c++引用c函数时,报错误 error LNK2001: 无法解析的外部符号

2016-06-07 18:20:03 5422浏览量 回答数 1

1

回答

node c++扩展引用引用静态库中函数提示 error LNK2001: 无法解析的外部符号 问题

2016-06-06 19:21:47 2977浏览量 回答数 1

1

回答

C++ 函数中返回局部指针地址的问题

2016-05-27 11:23:30 2065浏览量 回答数 1

1

回答

C/C++ math.h中的函数传相同参数进去返回的值一定相同吗?

2016-03-09 16:52:36 2137浏览量 回答数 1

1

回答

Linux C++ 使用fnmatch函数匹配文件名

2016-03-05 14:15:41 5054浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
对象的生命期管理
立即下载
移动与复制
立即下载
继承与功能组合
立即下载