Qt 4.8.5 jsoncpp lib

简介: Qt 4.8.5 jsoncpp lib 一、参考文档: 1. QtCreator动态编译jsoncpp完美支持x86和arm平台 http://www.
                                Qt 4.8.5 jsoncpp lib  

一、参考文档:
    1. QtCreator动态编译jsoncpp完美支持x86和arm平台
        http://www.linuxidc.com/Linux/2012-02/53678.htm
    2. Jsoncpp的使用
        http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

二、Drownload jsoncpp open source:
    经过测试,尽量下载参考文档1里的源代码,我从github上下载最新的版本,在我的Qt 4.8.5
    上面编译会出问题,而使用参考文档里的源代码没有问题。

三、使用流程:
    1. 将include/json里面所有文件复制到刚刚新建的json文件夹里(共8个文件,全部是.h的头文件);
    2. 将src/lib_json里面的所有文件全部复制到json文件里,共8个文件;
    3. 通过复制这些文件,就组成了我们所要的JSON库的全部源代码了。完整的文件清单见下面:
        autolink.h
        config.h
        features.h
        forwards.h
        json_batchallocator.h
        json.h
        json_internalarray.inl
        json_internalmap.inl
        json_reader.cpp
        json_value.cpp
        json_valueiterator.inl
        json_writer.cpp
        reader.h
        sconscript
        value.h
        writer.h
    4. 把刚刚准备好的JSON库,复制到项目的同一目录下;
    5. 在需要用到json解析的文件中引入Json库:#include "json/json.h"6. 参考《参考文档》中的例子进行测试。

四、Test Demo:
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "unistd.h"
    #include "json/json.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        using namespace std;
        std::string strVale = "{\"number\":\"13\",\"name\":\"zeng\", \"age\":\"34\"}";
    
        ui->parseString->setText(QString::fromStdString(strVale));
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_parse_clicked()
    {
        using namespace std;
        Json::Reader reader;
        Json::Value value;
        if ( reader.parse(ui->parseString->toPlainText().toStdString(), value)) {
            ui->number->setText(QString::fromStdString(value["number"].asString()));
            ui->name->setText(QString::fromStdString(value["name"].asString()));
            ui->age->setText(QString::fromStdString(value["age"].asString()));
        }
    
    }
    
    void MainWindow::on_synthetic_clicked()
    {
        Json::FastWriter writer;
        Json::Value person;
    
        person["number"] = "111";
        person["name"] = "zengjf";
        person["age"] = "100";
    
        std::string jsontofile = writer.write(person);
    
        ui->parseString->setText(QString::fromStdString(jsontofile));
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        ui->parseString->setText("");
    }

 

目录
相关文章
|
JSON Shell 数据格式
Qt jsoncpp 对象拷贝、删除、函数调用 demo
/***************************************************************************************************** * Qt jsoncpp 对象拷贝、删除、函数调用 demo * 声明: * 本程序主要就是为了验证jsoncpp中Json::Value对象中的append、等号赋值是拷贝内容,还是赋值指针, * 就测试而言,从目前的情况来看应该是拷贝内容,代码得以验证。
1912 0
|
2月前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
28 0
|
2月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
44 8
C++ Qt开发:QTcpSocket网络通信组件
|
14天前
|
开发框架 编译器 C++
Qt:一个强大的跨平台C++应用程序开发框架
Qt:一个强大的跨平台C++应用程序开发框架
31 1
|
14天前
|
开发框架 Linux C++
Qt:强大的跨平台C++应用程序开发框架
Qt:强大的跨平台C++应用程序开发框架
44 3
|
17天前
|
开发框架 数据可视化 编译器
Qt的魅力:探索跨平台图形界面开发之旅
Qt的魅力:探索跨平台图形界面开发之旅
31 1
|
1月前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
53 0
|
1月前
qt开发使用camera类获取摄像头信息并拍照保存
qt开发使用camera类获取摄像头信息并拍照保存
|
2月前
|
监控 C++
C++ Qt开发:QProcess进程管理模块
Qt是一个跨平台的C++图形库,简化了窗体应用开发,支持通过拖放组件提升效率。本章节关注`QProcess`组件,它用于控制和管理进程,例如执行命令、运行可执行文件及与外部进程通信。`QProcess`提供多种方法如`start`、`waitForStarted`和`waitForFinished`等,实现启动、监控和交互。示例展示了如何使用`QProcess`获取系统进程和信息,通过`tasklist`和`systeminfo`命令,并将结果展示在`QTreeWidget`中。
33 0
C++ Qt开发:QProcess进程管理模块
|
2月前
|
存储 C++ 网络架构
C++ Qt开发:QUdpSocket实现组播通信
Qt教程:使用`QUdpSocket`实现UDP组播通信。通过设置套接字选项、绑定端口、加入和离开组播组,以及发送和接收数据报,简化跨平台窗体应用开发。关键函数包括`setSocketOption`设置多播TTL,`bind`绑定地址和端口,`joinMulticastGroup`加入组播,`leaveMulticastGroup`退出,`writeDatagram`发送,和`readDatagram`接收数据报。
41 1
C++ Qt开发:QUdpSocket实现组播通信

推荐镜像

更多