【QT】QT中http协议和json数据的解析-http获取天气预报

QT中http协议和json数据的解析

1.http协议的原理

本质上http是属于应用层的通信协议,底层使用的就是tcp协议

2.QT中http协议的通信流程

2.1 方法步骤

cpp 复制代码
涉及到三个类:
   QNetworkRequest --》 http请求
   QNetworkAccessManager --》管理http请求(发送http请求)
   QNetworkReply --》http应答
第一步:创建一个http请求 
       QNetworkRequest::QNetworkRequest(const QUrl &url = QUrl())
                  参数:url --》表示网址
                        QUrl::QUrl(const QString &url)
                              参数:url --》要访问的网址
第二步:创建QNetworkAccessManager的对象,该对象发送刚才的请求
       //http中有两种常见的请求方法,分别是get/post
       QNetworkReply *QNetworkAccessManager::get(const QNetworkRequest &request)
                  参数:request --》要发送的请求
       [signal] void QNetworkAccessManager::finished(QNetworkReply *reply)
       注意:如果请求成功,服务器(网址)会自动回复应答信息,程序员需要关联finished信号,在槽函数里面接收应答信息即可
第三步:在第二步定义的槽函数里面接收应答信息
       QByteArray QNetworkReply::readAll()

图示:

3.使用http协议(通过http下载图片和获取天气预报信息)

https和http的区别

https使用了算法安全加密

3.1 http下载网络上的图片(下载小文件)

注意:在l浏览器中下载图片时,开源右键复制图片的地址,填入时需要把https改成http

cpp 复制代码
直接一次性读取服务器返回的应答信息
QPixmap map;
map.loadFromData(buf是读取的应答信息);

3.1.1 示例代码

cpp 复制代码
// widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
#include <QNetworkReply>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButton_clicked();
    void recvReply(QNetworkReply *reply);

private:
    Ui::Widget *ui;
    QNetworkAccessManager *httpManager;
};
#endif // WIDGET_H

// widget.cpp
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 初始化
    httpManager = new QNetworkAccessManager(this);
    // 主动关联finished信号
    connect(httpManager, &QNetworkAccessManager::finished, this, &Widget::recvReply);
}

Widget::~Widget()
{
    delete ui;
}

//下载图片
void Widget::on_pushButton_clicked()
{
    // 获取输入框中输入的图片地址
    QString picURL= ui->lineEdit->text();

    // 依据图片地址构建一个QUrl对象
    QUrl url(picURL);

    // 创建请求对象
    QNetworkRequest picRequest(url);

    //发送请求
    httpManager->get(picRequest);
}

void Widget::recvReply(QNetworkReply *reply)
{
    //读取http服务器回复的应答信息
    //由于我这个例子是来下载网络上的图片:因此服务器回复给我就是图片数据
    QByteArray replyPicData = reply->readAll();

    //在标签上显示图片
    //方法1:依据图片的路径名来构造QPixmap类的对象
    //方法2:依据图片的原始数据来构造QPixmap类的对象(目前例子使用)
    QPixmap pixmap;
    pixmap.loadFromData(replyPicData); // 依据图片的原始数据(二进制数据)来构造QPixmap类的对象
//    pixmap.scaled(ui->label->width(), ui->label->height()); //调整图片大小
    ui->label->setScaledContents(true); // 允许 QLabel 自动缩放内容
    ui->label->setPixmap(pixmap); // 显示图像
}

3.1.2 现象

3.2 获取网络上天气预报

3.2.1 免费的天气预报接口:

网址:https://www.sojson.com/api/weather.html

打开网站后界面如下:
当需要获取某个城市天气数据json时候,需要传入一个城市代码编码作为入参,

地址: http://t.weather.itboy.net/api/weather/city/xxxxx ,其中xxxxx即为城市代码(城市代码见后面附件)。

浏览器获取的天气数据:(也可勾选优质打印,输出为排版好的json格式)


或者通过json在线解析工具将其解析为json格式的数据:

json在线解析工具网址:https://www.jyshare.com/front-end/53/

4.json数据的构成

json数据:一种数据格式,在计算机前端开发中经常使用这个格式的数据,保存信息很方便

json数据只能由数组,对象,键值对三种构成
\quad 对象:用{}来表示,可以嵌套 {键值对}
\quad 数组:用[]来表示,数组里面只能存放相同类型的数据 [1,2,3] [{},{},{}] [键值对,键值对,键值对]
\quad 键值对:用键:值表示, 键只能是字符串,值可以是任意合法类型

5.如何解析json数据

cpp 复制代码
json数据在解析之前,程序员必须要提前知道json数据的构成,否则无法解析
QT提供了如下几个类帮助解析json数据:
    QJsonDocument --》把json数据标准化存储
    QJsonObject   --》对象
    QJsonArray    --》数组
    QJsonValue    --》值
    QJsonParseError --》保存出错信息
解析json数据的一般思路:
第一步:把json数据标准化存储
    [static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = Q_NULLPTR)
              返回值:QJsonDocument对象存放标准化之后的json数据
                参数:json --》要存储的原始json数据
                      error --》存放出错信息
第二步:严格按照你看到的json数据的结构一步步解析json数据(从整体到局部,一层层剥洋葱)
    QJsonObject QJsonDocument::object() const   //获取json数据中的对象
    QJsonArray QJsonDocument::array() const     //获取json数据中的数组
    QJsonValue QJsonObject::value(const QString &key) const  //通过键得到对应的值
    QJsonValue QJsonArray::at(int i) const           //获取数组中的下标元素
                返回值:跟键对应的值
                  参数:key --》键
    QJsonObject QJsonValue::toObject() const   //把键值对中的值进行转换,转换成对象
                总结:QJsonValue类中提供了大量的toxxxxx()方法,原因是键值对中的值可以是任意合法的数据类型,需要我们去转换        
    

5.1 示例代码:(代码为获取网络上的天气预报)

cpp 复制代码
// widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
#include <QNetworkReply>
// json相关
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonValue>
#include <QJsonParseError>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButton_clicked();
    void recvReply(QNetworkReply *reply);

private:
    Ui::Widget *ui;
    QNetworkAccessManager *httpManager;
};
#endif // WIDGET_H


// widget.cpp
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 初始化
    httpManager = new QNetworkAccessManager(this);
    // 主动关联finished信号,如果应答成功会回复应答消息,在槽函数中进行接收
    connect(httpManager, &QNetworkAccessManager::finished, this, &Widget::recvReply);
}

Widget::~Widget()
{
    delete ui;
}

//获取天气预报
void Widget::on_pushButton_clicked()
{
    // 获取输入框中输入的天气预报地址
    // 例如获取广州的天气:http://t.weather.itboy.net/api/weather/city/101280101
    QString picURL= ui->lineEdit->text();

    // 依据天气预报地址构建一个QUrl对象
    QUrl url(picURL);

    // 创建请求对象
    QNetworkRequest picRequest(url);

    //发送输入框中对应天气预报地址的请求
    httpManager->get(picRequest);
}

void Widget::recvReply(QNetworkReply *reply)
{
    //读取http服务器回复的应答信息
    //由于现在获取天气预报信息,因此回复给我的应答信息replyPicData里面就是天气预报信息
    QByteArray replyWeatherData = reply->readAll();

    // 在文本编辑框中显示回复的天气预报信息
    ui->textEdit->setText(replyWeatherData);

    // 第一步:把json数据标准化存储,也就是解析为json数据
    QJsonDocument doc = QJsonDocument::fromJson(replyWeatherData);

    //第二步:严格按照看到的json数据的结构一步步解析json数据(从整体到局部)
    //1.最外层是对象,获取这个对象里面的内容
    QJsonObject obj1 = doc.object();

    //2.获取obj1中键 data 对应的值
    QJsonValue val1 = obj1.value("data");

    // 3.val1是个对象,需要把QJsonValue val1转换成对象--》才可以调用QJsonObject类的方法
    QJsonObject obj2 = val1.toObject();

    // 4.把obj2里面的键forecast对应的值得到
    QJsonValue val2 = obj2.value("forecast");

    // 5.val2是个数组,把QJsonValue转换成数组--》才可以调用QJsonArray类的方法
    QJsonArray array = val2.toArray();

    // 6.得到数组下标为1的那个元素(其实也是个对象)
    QJsonValue val3 = array.at(1);

    // 7.val3是个对象,需要把QJsonValue转换成对象--》才可以调用QJsonObject类的方法
    QJsonObject obj3 = val3.toObject();

    // 8.把obj3里面的键high对应的值得到
    QJsonValue val4 = obj3.value("high");

    qDebug() << "high的值是:" << val4.toString();
}

5.2 现象


附件:以下是天气预报json数据获取中使用的城市代码:

bash 复制代码
{
    "城市代码": [{
            "省": "北京",
            "市": [{
                    "市名": "北京",
                    "编码": "101010100"
                },
                {
                    "市名": "朝阳",
                    "编码": "101010300"
                },
                {
                    "市名": "顺义",
                    "编码": "101010400"
                },
                {
                    "市名": "怀柔",
                    "编码": "101010500"
                },
                {
                    "市名": "通州",
                    "编码": "101010600"
                },
                {
                    "市名": "昌平",
                    "编码": "101010700"
                },
                {
                    "市名": "延庆",
                    "编码": "101010800"
                },
                {
                    "市名": "丰台",
                    "编码": "101010900"
                },
                {
                    "市名": "石景山",
                    "编码": "101011000"
                },
                {
                    "市名": "大兴",
                    "编码": "101011100"
                },
                {
                    "市名": "房山",
                    "编码": "101011200"
                },
                {
                    "市名": "密云",
                    "编码": "101011300"
                },
                {
                    "市名": "门头沟",
                    "编码": "101011400"
                },
                {
                    "市名": "平谷",
                    "编码": "101011500"
                },
                {
                    "市名": "八达岭",
                    "编码": "101011600"
                },
                {
                    "市名": "佛爷顶",
                    "编码": "101011700"
                },
                {
                    "市名": "汤河口",
                    "编码": "101011800"
                },
                {
                    "市名": "密云上甸子",
                    "编码": "101011900"
                },
                {
                    "市名": "斋堂",
                    "编码": "101012000"
                },
                {
                    "市名": "霞云岭",
                    "编码": "101012100"
                },
                {
                    "市名": "北京城区",
                    "编码": "101012200"
                },
                {
                    "市名": "海淀",
                    "编码": "101010200"
                }
            ]
        },
        {
            "省": "天津市",
            "市": [{
                    "市名": "天津",
                    "编码": "101030100"
                },
                {
                    "市名": "宝坻",
                    "编码": "101030300"
                },
                {
                    "市名": "东丽",
                    "编码": "101030400"
                },
                {
                    "市名": "西青",
                    "编码": "101030500"
                },
                {
                    "市名": "北辰",
                    "编码": "101030600"
                },
                {
                    "市名": "蓟县",
                    "编码": "101031400"
                },
                {
                    "市名": "汉沽",
                    "编码": "101030800"
                },
                {
                    "市名": "静海",
                    "编码": "101030900"
                },
                {
                    "市名": "津南",
                    "编码": "101031000"
                },
                {
                    "市名": "塘沽",
                    "编码": "101031100"
                },
                {
                    "市名": "大港",
                    "编码": "101031200"
                },
                {
                    "市名": "武清",
                    "编码": "101030200"
                },
                {
                    "市名": "宁河",
                    "编码": "101030700"
                }
            ]
        },
        {
            "省": "上海",
            "市": [{
                    "市名": "上海",
                    "编码": "101020100"
                },
                {
                    "市名": "宝山",
                    "编码": "101020300"
                },
                {
                    "市名": "嘉定",
                    "编码": "101020500"
                },
                {
                    "市名": "南汇",
                    "编码": "101020600"
                },
                {
                    "市名": "浦东",
                    "编码": "101021300"
                },
                {
                    "市名": "青浦",
                    "编码": "101020800"
                },
                {
                    "市名": "松江",
                    "编码": "101020900"
                },
                {
                    "市名": "奉贤",
                    "编码": "101021000"
                },
                {
                    "市名": "崇明",
                    "编码": "101021100"
                },
                {
                    "市名": "徐家汇",
                    "编码": "101021200"
                },
                {
                    "市名": "闵行",
                    "编码": "101020200"
                },
                {
                    "市名": "金山",
                    "编码": "101020700"
                }
            ]
        },
        {
            "省": "河北",
            "市": [{
                    "市名": "石家庄",
                    "编码": "101090101"
                },
                {
                    "市名": "张家口",
                    "编码": "101090301"
                },
                {
                    "市名": "承德",
                    "编码": "101090402"
                },
                {
                    "市名": "唐山",
                    "编码": "101090501"
                },
                {
                    "市名": "秦皇岛",
                    "编码": "101091101"
                },
                {
                    "市名": "沧州",
                    "编码": "101090701"
                },
                {
                    "市名": "衡水",
                    "编码": "101090801"
                },
                {
                    "市名": "邢台",
                    "编码": "101090901"
                },
                {
                    "市名": "邯郸",
                    "编码": "101091001"
                },
                {
                    "市名": "保定",
                    "编码": "101090201"
                },
                {
                    "市名": "廊坊",
                    "编码": "101090601"
                }
            ]
        },
        {
            "省": "河南",
            "市": [{
                    "市名": "郑州",
                    "编码": "101180101"
                },
                {
                    "市名": "新乡",
                    "编码": "101180301"
                },
                {
                    "市名": "许昌",
                    "编码": "101180401"
                },
                {
                    "市名": "平顶山",
                    "编码": "101180501"
                },
                {
                    "市名": "信阳",
                    "编码": "101180601"
                },
                {
                    "市名": "南阳",
                    "编码": "101180701"
                },
                {
                    "市名": "开封",
                    "编码": "101180801"
                },
                {
                    "市名": "洛阳",
                    "编码": "101180901"
                },
                {
                    "市名": "商丘",
                    "编码": "101181001"
                },
                {
                    "市名": "焦作",
                    "编码": "101181101"
                },
                {
                    "市名": "鹤壁",
                    "编码": "101181201"
                },
                {
                    "市名": "濮阳",
                    "编码": "101181301"
                },
                {
                    "市名": "周口",
                    "编码": "101181401"
                },
                {
                    "市名": "漯河",
                    "编码": "101181501"
                },
                {
                    "市名": "驻马店",
                    "编码": "101181601"
                },
                {
                    "市名": "三门峡",
                    "编码": "101181701"
                },
                {
                    "市名": "济源",
                    "编码": "101181801"
                },
                {
                    "市名": "安阳",
                    "编码": "101180201"
                }
            ]
        },
        {
            "省": "安徽",
            "市": [{
                    "市名": "合肥",
                    "编码": "101220101"
                },
                {
                    "市名": "芜湖",
                    "编码": "101220301"
                },
                {
                    "市名": "淮南",
                    "编码": "101220401"
                },
                {
                    "市名": "马鞍山",
                    "编码": "101220501"
                },
                {
                    "市名": "安庆",
                    "编码": "101220601"
                },
                {
                    "市名": "宿州",
                    "编码": "101220701"
                },
                {
                    "市名": "阜阳",
                    "编码": "101220801"
                },
                {
                    "市名": "亳州",
                    "编码": "101220901"
                },
                {
                    "市名": "黄山",
                    "编码": "101221001"
                },
                {
                    "市名": "滁州",
                    "编码": "101221101"
                },
                {
                    "市名": "淮北",
                    "编码": "101221201"
                },
                {
                    "市名": "铜陵",
                    "编码": "101221301"
                },
                {
                    "市名": "宣城",
                    "编码": "101221401"
                },
                {
                    "市名": "六安",
                    "编码": "101221501"
                },
                {
                    "市名": "巢湖",
                    "编码": "101221601"
                },
                {
                    "市名": "池州",
                    "编码": "101221701"
                },
                {
                    "市名": "蚌埠",
                    "编码": "101220201"
                }
            ]
        },
        {
            "省": "浙江",
            "市": [{
                    "市名": "杭州",
                    "编码": "101210101"
                },
                {
                    "市名": "舟山",
                    "编码": "101211101"
                },
                {
                    "市名": "湖州",
                    "编码": "101210201"
                },
                {
                    "市名": "嘉兴",
                    "编码": "101210301"
                },
                {
                    "市名": "金华",
                    "编码": "101210901"
                },
                {
                    "市名": "绍兴",
                    "编码": "101210501"
                },
                {
                    "市名": "台州",
                    "编码": "101210601"
                },
                {
                    "市名": "温州",
                    "编码": "101210701"
                },
                {
                    "市名": "丽水",
                    "编码": "101210801"
                },
                {
                    "市名": "衢州",
                    "编码": "101211001"
                },
                {
                    "市名": "宁波",
                    "编码": "101210401"
                }
            ]
        },
        {
            "省": "重庆",
            "市": [{
                    "市名": "重庆",
                    "编码": "101040100"
                },
                {
                    "市名": "合川",
                    "编码": "101040300"
                },
                {
                    "市名": "南川",
                    "编码": "101040400"
                },
                {
                    "市名": "江津",
                    "编码": "101040500"
                },
                {
                    "市名": "万盛",
                    "编码": "101040600"
                },
                {
                    "市名": "渝北",
                    "编码": "101040700"
                },
                {
                    "市名": "北碚",
                    "编码": "101040800"
                },
                {
                    "市名": "巴南",
                    "编码": "101040900"
                },
                {
                    "市名": "长寿",
                    "编码": "101041000"
                },
                {
                    "市名": "黔江",
                    "编码": "101041100"
                },
                {
                    "市名": "万州天城",
                    "编码": "101041200"
                },
                {
                    "市名": "万州龙宝",
                    "编码": "101041300"
                },
                {
                    "市名": "涪陵",
                    "编码": "101041400"
                },
                {
                    "市名": "开县",
                    "编码": "101041500"
                },
                {
                    "市名": "城口",
                    "编码": "101041600"
                },
                {
                    "市名": "云阳",
                    "编码": "101041700"
                },
                {
                    "市名": "巫溪",
                    "编码": "101041800"
                },
                {
                    "市名": "奉节",
                    "编码": "101041900"
                },
                {
                    "市名": "巫山",
                    "编码": "101042000"
                },
                {
                    "市名": "潼南",
                    "编码": "101042100"
                },
                {
                    "市名": "垫江",
                    "编码": "101042200"
                },
                {
                    "市名": "梁平",
                    "编码": "101042300"
                },
                {
                    "市名": "忠县",
                    "编码": "101042400"
                },
                {
                    "市名": "石柱",
                    "编码": "101042500"
                },
                {
                    "市名": "大足",
                    "编码": "101042600"
                },
                {
                    "市名": "荣昌",
                    "编码": "101042700"
                },
                {
                    "市名": "铜梁",
                    "编码": "101042800"
                },
                {
                    "市名": "璧山",
                    "编码": "101042900"
                },
                {
                    "市名": "丰都",
                    "编码": "101043000"
                },
                {
                    "市名": "武隆",
                    "编码": "101043100"
                },
                {
                    "市名": "彭水",
                    "编码": "101043200"
                },
                {
                    "市名": "綦江",
                    "编码": "101043300"
                },
                {
                    "市名": "酉阳",
                    "编码": "101043400"
                },
                {
                    "市名": "秀山",
                    "编码": "101043600"
                },
                {
                    "市名": "沙坪坝",
                    "编码": "101043700"
                },
                {
                    "市名": "永川",
                    "编码": "101040200"
                }
            ]
        },
        {
            "省": "福建",
            "市": [{
                    "市名": "福州",
                    "编码": "101230101"
                },
                {
                    "市名": "泉州",
                    "编码": "101230501"
                },
                {
                    "市名": "漳州",
                    "编码": "101230601"
                },
                {
                    "市名": "龙岩",
                    "编码": "101230701"
                },
                {
                    "市名": "晋江",
                    "编码": "101230509"
                },
                {
                    "市名": "南平",
                    "编码": "101230901"
                },
                {
                    "市名": "厦门",
                    "编码": "101230201"
                },
                {
                    "市名": "宁德",
                    "编码": "101230301"
                },
                {
                    "市名": "莆田",
                    "编码": "101230401"
                },
                {
                    "市名": "三明",
                    "编码": "101230801"
                }
            ]
        },
        {
            "省": "甘肃",
            "市": [{
                    "市名": "兰州",
                    "编码": "101160101"
                },
                {
                    "市名": "平凉",
                    "编码": "101160301"
                },
                {
                    "市名": "庆阳",
                    "编码": "101160401"
                },
                {
                    "市名": "武威",
                    "编码": "101160501"
                },
                {
                    "市名": "金昌",
                    "编码": "101160601"
                },
                {
                    "市名": "嘉峪关",
                    "编码": "101161401"
                },
                {
                    "市名": "酒泉",
                    "编码": "101160801"
                },
                {
                    "市名": "天水",
                    "编码": "101160901"
                },
                {
                    "市名": "武都",
                    "编码": "101161001"
                },
                {
                    "市名": "临夏",
                    "编码": "101161101"
                },
                {
                    "市名": "合作",
                    "编码": "101161201"
                },
                {
                    "市名": "白银",
                    "编码": "101161301"
                },
                {
                    "市名": "定西",
                    "编码": "101160201"
                },
                {
                    "市名": "张掖",
                    "编码": "101160701"
                }
            ]
        },
        {
            "省": "广东",
            "市": [{
                    "市名": "广州",
                    "编码": "101280101"
                },
                {
                    "市名": "惠州",
                    "编码": "101280301"
                },
                {
                    "市名": "梅州",
                    "编码": "101280401"
                },
                {
                    "市名": "汕头",
                    "编码": "101280501"
                },
                {
                    "市名": "深圳",
                    "编码": "101280601"
                },
                {
                    "市名": "珠海",
                    "编码": "101280701"
                },
                {
                    "市名": "佛山",
                    "编码": "101280800"
                },
                {
                    "市名": "肇庆",
                    "编码": "101280901"
                },
                {
                    "市名": "湛江",
                    "编码": "101281001"
                },
                {
                    "市名": "江门",
                    "编码": "101281101"
                },
                {
                    "市名": "河源",
                    "编码": "101281201"
                },
                {
                    "市名": "清远",
                    "编码": "101281301"
                },
                {
                    "市名": "云浮",
                    "编码": "101281401"
                },
                {
                    "市名": "潮州",
                    "编码": "101281501"
                },
                {
                    "市名": "东莞",
                    "编码": "101281601"
                },
                {
                    "市名": "中山",
                    "编码": "101281701"
                },
                {
                    "市名": "阳江",
                    "编码": "101281801"
                },
                {
                    "市名": "揭阳",
                    "编码": "101281901"
                },
                {
                    "市名": "茂名",
                    "编码": "101282001"
                },
                {
                    "市名": "汕尾",
                    "编码": "101282101"
                },
                {
                    "市名": "韶关",
                    "编码": "101280201"
                }
            ]
        },
        {
            "省": "广西",
            "市": [{
                    "市名": "南宁",
                    "编码": "101300101"
                },
                {
                    "市名": "柳州",
                    "编码": "101300301"
                },
                {
                    "市名": "来宾",
                    "编码": "101300401"
                },
                {
                    "市名": "桂林",
                    "编码": "101300501"
                },
                {
                    "市名": "梧州",
                    "编码": "101300601"
                },
                {
                    "市名": "防城港",
                    "编码": "101301401"
                },
                {
                    "市名": "贵港",
                    "编码": "101300801"
                },
                {
                    "市名": "玉林",
                    "编码": "101300901"
                },
                {
                    "市名": "百色",
                    "编码": "101301001"
                },
                {
                    "市名": "钦州",
                    "编码": "101301101"
                },
                {
                    "市名": "河池",
                    "编码": "101301201"
                },
                {
                    "市名": "北海",
                    "编码": "101301301"
                },
                {
                    "市名": "崇左",
                    "编码": "101300201"
                },
                {
                    "市名": "贺州",
                    "编码": "101300701"
                }
            ]
        },
        {
            "省": "贵州",
            "市": [{
                    "市名": "贵阳",
                    "编码": "101260101"
                },
                {
                    "市名": "安顺",
                    "编码": "101260301"
                },
                {
                    "市名": "都匀",
                    "编码": "101260401"
                },
                {
                    "市名": "兴义",
                    "编码": "101260906"
                },
                {
                    "市名": "铜仁",
                    "编码": "101260601"
                },
                {
                    "市名": "毕节",
                    "编码": "101260701"
                },
                {
                    "市名": "六盘水",
                    "编码": "101260801"
                },
                {
                    "市名": "遵义",
                    "编码": "101260201"
                },
                {
                    "市名": "凯里",
                    "编码": "101260501"
                }
            ]
        },
        {
            "省": "云南",
            "市": [{
                    "市名": "昆明",
                    "编码": "101290101"
                },
                {
                    "市名": "红河",
                    "编码": "101290301"
                },
                {
                    "市名": "文山",
                    "编码": "101290601"
                },
                {
                    "市名": "玉溪",
                    "编码": "101290701"
                },
                {
                    "市名": "楚雄",
                    "编码": "101290801"
                },
                {
                    "市名": "普洱",
                    "编码": "101290901"
                },
                {
                    "市名": "昭通",
                    "编码": "101291001"
                },
                {
                    "市名": "临沧",
                    "编码": "101291101"
                },
                {
                    "市名": "怒江",
                    "编码": "101291201"
                },
                {
                    "市名": "香格里拉",
                    "编码": "101291301"
                },
                {
                    "市名": "丽江",
                    "编码": "101291401"
                },
                {
                    "市名": "德宏",
                    "编码": "101291501"
                },
                {
                    "市名": "景洪",
                    "编码": "101291601"
                },
                {
                    "市名": "大理",
                    "编码": "101290201"
                },
                {
                    "市名": "曲靖",
                    "编码": "101290401"
                },
                {
                    "市名": "保山",
                    "编码": "101290501"
                }
            ]
        },
        {
            "省": "内蒙古",
            "市": [{
                    "市名": "呼和浩特",
                    "编码": "101080101"
                },
                {
                    "市名": "乌海",
                    "编码": "101080301"
                },
                {
                    "市名": "集宁",
                    "编码": "101080401"
                },
                {
                    "市名": "通辽",
                    "编码": "101080501"
                },
                {
                    "市名": "阿拉善左旗",
                    "编码": "101081201"
                },
                {
                    "市名": "鄂尔多斯",
                    "编码": "101080701"
                },
                {
                    "市名": "临河",
                    "编码": "101080801"
                },
                {
                    "市名": "锡林浩特",
                    "编码": "101080901"
                },
                {
                    "市名": "呼伦贝尔",
                    "编码": "101081000"
                },
                {
                    "市名": "乌兰浩特",
                    "编码": "101081101"
                },
                {
                    "市名": "包头",
                    "编码": "101080201"
                },
                {
                    "市名": "赤峰",
                    "编码": "101080601"
                }
            ]
        },
        {
            "省": "江西",
            "市": [{
                    "市名": "南昌",
                    "编码": "101240101"
                },
                {
                    "市名": "上饶",
                    "编码": "101240301"
                },
                {
                    "市名": "抚州",
                    "编码": "101240401"
                },
                {
                    "市名": "宜春",
                    "编码": "101240501"
                },
                {
                    "市名": "鹰潭",
                    "编码": "101241101"
                },
                {
                    "市名": "赣州",
                    "编码": "101240701"
                },
                {
                    "市名": "景德镇",
                    "编码": "101240801"
                },
                {
                    "市名": "萍乡",
                    "编码": "101240901"
                },
                {
                    "市名": "新余",
                    "编码": "101241001"
                },
                {
                    "市名": "九江",
                    "编码": "101240201"
                },
                {
                    "市名": "吉安",
                    "编码": "101240601"
                }
            ]
        },
        {
            "省": "湖北",
            "市": [{
                    "市名": "武汉",
                    "编码": "101200101"
                },
                {
                    "市名": "黄冈",
                    "编码": "101200501"
                },
                {
                    "市名": "荆州",
                    "编码": "101200801"
                },
                {
                    "市名": "宜昌",
                    "编码": "101200901"
                },
                {
                    "市名": "恩施",
                    "编码": "101201001"
                },
                {
                    "市名": "十堰",
                    "编码": "101201101"
                },
                {
                    "市名": "神农架",
                    "编码": "101201201"
                },
                {
                    "市名": "随州",
                    "编码": "101201301"
                },
                {
                    "市名": "荆门",
                    "编码": "101201401"
                },
                {
                    "市名": "天门",
                    "编码": "101201501"
                },
                {
                    "市名": "仙桃",
                    "编码": "101201601"
                },
                {
                    "市名": "潜江",
                    "编码": "101201701"
                },
                {
                    "市名": "襄樊",
                    "编码": "101200201"
                },
                {
                    "市名": "鄂州",
                    "编码": "101200301"
                },
                {
                    "市名": "孝感",
                    "编码": "101200401"
                },
                {
                    "市名": "黄石",
                    "编码": "101200601"
                },
                {
                    "市名": "咸宁",
                    "编码": "101200701"
                }
            ]
        },
        {
            "省": "四川",
            "市": [{
                    "市名": "成都",
                    "编码": "101270101"
                },
                {
                    "市名": "自贡",
                    "编码": "101270301"
                },
                {
                    "市名": "绵阳",
                    "编码": "101270401"
                },
                {
                    "市名": "南充",
                    "编码": "101270501"
                },
                {
                    "市名": "达州",
                    "编码": "101270601"
                },
                {
                    "市名": "遂宁",
                    "编码": "101270701"
                },
                {
                    "市名": "广安",
                    "编码": "101270801"
                },
                {
                    "市名": "巴中",
                    "编码": "101270901"
                },
                {
                    "市名": "泸州",
                    "编码": "101271001"
                },
                {
                    "市名": "宜宾",
                    "编码": "101271101"
                },
                {
                    "市名": "内江",
                    "编码": "101271201"
                },
                {
                    "市名": "资阳",
                    "编码": "101271301"
                },
                {
                    "市名": "乐山",
                    "编码": "101271401"
                },
                {
                    "市名": "眉山",
                    "编码": "101271501"
                },
                {
                    "市名": "凉山",
                    "编码": "101271601"
                },
                {
                    "市名": "雅安",
                    "编码": "101271701"
                },
                {
                    "市名": "甘孜",
                    "编码": "101271801"
                },
                {
                    "市名": "阿坝",
                    "编码": "101271901"
                },
                {
                    "市名": "德阳",
                    "编码": "101272001"
                },
                {
                    "市名": "广元",
                    "编码": "101272101"
                },
                {
                    "市名": "攀枝花",
                    "编码": "101270201"
                }
            ]
        },
        {
            "省": "宁夏",
            "市": [{
                    "市名": "银川",
                    "编码": "101170101"
                },
                {
                    "市名": "中卫",
                    "编码": "101170501"
                },
                {
                    "市名": "固原",
                    "编码": "101170401"
                },
                {
                    "市名": "石嘴山",
                    "编码": "101170201"
                },
                {
                    "市名": "吴忠",
                    "编码": "101170301"
                }
            ]
        },
        {
            "省": "青海省",
            "市": [{
                    "市名": "西宁",
                    "编码": "101150101"
                },
                {
                    "市名": "黄南",
                    "编码": "101150301"
                },
                {
                    "市名": "海北",
                    "编码": "101150801"
                },
                {
                    "市名": "果洛",
                    "编码": "101150501"
                },
                {
                    "市名": "玉树",
                    "编码": "101150601"
                },
                {
                    "市名": "海西",
                    "编码": "101150701"
                },
                {
                    "市名": "海东",
                    "编码": "101150201"
                },
                {
                    "市名": "海南",
                    "编码": "101150401"
                }
            ]
        },
        {
            "省": "山东",
            "市": [{
                    "市名": "济南",
                    "编码": "101120101"
                },
                {
                    "市名": "潍坊",
                    "编码": "101120601"
                },
                {
                    "市名": "临沂",
                    "编码": "101120901"
                },
                {
                    "市名": "菏泽",
                    "编码": "101121001"
                },
                {
                    "市名": "滨州",
                    "编码": "101121101"
                },
                {
                    "市名": "东营",
                    "编码": "101121201"
                },
                {
                    "市名": "威海",
                    "编码": "101121301"
                },
                {
                    "市名": "枣庄",
                    "编码": "101121401"
                },
                {
                    "市名": "日照",
                    "编码": "101121501"
                },
                {
                    "市名": "莱芜",
                    "编码": "101121601"
                },
                {
                    "市名": "聊城",
                    "编码": "101121701"
                },
                {
                    "市名": "青岛",
                    "编码": "101120201"
                },
                {
                    "市名": "淄博",
                    "编码": "101120301"
                },
                {
                    "市名": "德州",
                    "编码": "101120401"
                },
                {
                    "市名": "烟台",
                    "编码": "101120501"
                },
                {
                    "市名": "济宁",
                    "编码": "101120701"
                },
                {
                    "市名": "泰安",
                    "编码": "101120801"
                }
            ]
        },
        {
            "省": "陕西省",
            "市": [{
                    "市名": "西安",
                    "编码": "101110101"
                },
                {
                    "市名": "延安",
                    "编码": "101110300"
                },
                {
                    "市名": "榆林",
                    "编码": "101110401"
                },
                {
                    "市名": "铜川",
                    "编码": "101111001"
                },
                {
                    "市名": "商洛",
                    "编码": "101110601"
                },
                {
                    "市名": "安康",
                    "编码": "101110701"
                },
                {
                    "市名": "汉中",
                    "编码": "101110801"
                },
                {
                    "市名": "宝鸡",
                    "编码": "101110901"
                },
                {
                    "市名": "咸阳",
                    "编码": "101110200"
                },
                {
                    "市名": "渭南",
                    "编码": "101110501"
                }
            ]
        },
        {
            "省": "山西",
            "市": [{
                    "市名": "太原",
                    "编码": "101100101"
                },
                {
                    "市名": "临汾",
                    "编码": "101100701"
                },
                {
                    "市名": "运城",
                    "编码": "101100801"
                },
                {
                    "市名": "朔州",
                    "编码": "101100901"
                },
                {
                    "市名": "忻州",
                    "编码": "101101001"
                },
                {
                    "市名": "长治",
                    "编码": "101100501"
                },
                {
                    "市名": "大同",
                    "编码": "101100201"
                },
                {
                    "市名": "阳泉",
                    "编码": "101100301"
                },
                {
                    "市名": "晋中",
                    "编码": "101100401"
                },
                {
                    "市名": "晋城",
                    "编码": "101100601"
                },
                {
                    "市名": "吕梁",
                    "编码": "101101100"
                }
            ]
        },
        {
            "省": "新疆",
            "市": [{
                    "市名": "乌鲁木齐",
                    "编码": "101130101"
                },
                {
                    "市名": "石河子",
                    "编码": "101130301"
                },
                {
                    "市名": "昌吉",
                    "编码": "101130401"
                },
                {
                    "市名": "吐鲁番",
                    "编码": "101130501"
                },
                {
                    "市名": "库尔勒",
                    "编码": "101130601"
                },
                {
                    "市名": "阿拉尔",
                    "编码": "101130701"
                },
                {
                    "市名": "阿克苏",
                    "编码": "101130801"
                },
                {
                    "市名": "喀什",
                    "编码": "101130901"
                },
                {
                    "市名": "伊宁",
                    "编码": "101131001"
                },
                {
                    "市名": "塔城",
                    "编码": "101131101"
                },
                {
                    "市名": "哈密",
                    "编码": "101131201"
                },
                {
                    "市名": "和田",
                    "编码": "101131301"
                },
                {
                    "市名": "阿勒泰",
                    "编码": "101131401"
                },
                {
                    "市名": "阿图什",
                    "编码": "101131501"
                },
                {
                    "市名": "博乐",
                    "编码": "101131601"
                },
                {
                    "市名": "克拉玛依",
                    "编码": "101130201"
                }
            ]
        },
        {
            "省": "西藏",
            "市": [{
                    "市名": "拉萨",
                    "编码": "101140101"
                },
                {
                    "市名": "山南",
                    "编码": "101140301"
                },
                {
                    "市名": "阿里",
                    "编码": "101140701"
                },
                {
                    "市名": "昌都",
                    "编码": "101140501"
                },
                {
                    "市名": "那曲",
                    "编码": "101140601"
                },
                {
                    "市名": "日喀则",
                    "编码": "101140201"
                },
                {
                    "市名": "林芝",
                    "编码": "101140401"
                }
            ]
        },
        {
            "省": "台湾",
            "市": [{
                    "市名": "台北县",
                    "编码": "101340101"
                },
                {
                    "市名": "高雄",
                    "编码": "101340201"
                },
                {
                    "市名": "台中",
                    "编码": "101340401"
                }
            ]
        },
        {
            "省": "海南省",
            "市": [{
                    "市名": "海口",
                    "编码": "101310101"
                },
                {
                    "市名": "三亚",
                    "编码": "101310201"
                },
                {
                    "市名": "东方",
                    "编码": "101310202"
                },
                {
                    "市名": "临高",
                    "编码": "101310203"
                },
                {
                    "市名": "澄迈",
                    "编码": "101310204"
                },
                {
                    "市名": "儋州",
                    "编码": "101310205"
                },
                {
                    "市名": "昌江",
                    "编码": "101310206"
                },
                {
                    "市名": "白沙",
                    "编码": "101310207"
                },
                {
                    "市名": "琼中",
                    "编码": "101310208"
                },
                {
                    "市名": "定安",
                    "编码": "101310209"
                },
                {
                    "市名": "屯昌",
                    "编码": "101310210"
                },
                {
                    "市名": "琼海",
                    "编码": "101310211"
                },
                {
                    "市名": "文昌",
                    "编码": "101310212"
                },
                {
                    "市名": "保亭",
                    "编码": "101310214"
                },
                {
                    "市名": "万宁",
                    "编码": "101310215"
                },
                {
                    "市名": "陵水",
                    "编码": "101310216"
                },
                {
                    "市名": "西沙",
                    "编码": "101310217"
                },
                {
                    "市名": "南沙岛",
                    "编码": "101310220"
                },
                {
                    "市名": "乐东",
                    "编码": "101310221"
                },
                {
                    "市名": "五指山",
                    "编码": "101310222"
                },
                {
                    "市名": "琼山",
                    "编码": "101310102"
                }
            ]
        },
        {
            "省": "湖南",
            "市": [{
                    "市名": "长沙",
                    "编码": "101250101"
                },
                {
                    "市名": "株洲",
                    "编码": "101250301"
                },
                {
                    "市名": "衡阳",
                    "编码": "101250401"
                },
                {
                    "市名": "郴州",
                    "编码": "101250501"
                },
                {
                    "市名": "常德",
                    "编码": "101250601"
                },
                {
                    "市名": "益阳",
                    "编码": "101250700"
                },
                {
                    "市名": "娄底",
                    "编码": "101250801"
                },
                {
                    "市名": "邵阳",
                    "编码": "101250901"
                },
                {
                    "市名": "岳阳",
                    "编码": "101251001"
                },
                {
                    "市名": "张家界",
                    "编码": "101251101"
                },
                {
                    "市名": "怀化",
                    "编码": "101251201"
                },
                {
                    "市名": "黔阳",
                    "编码": "101251301"
                },
                {
                    "市名": "永州",
                    "编码": "101251401"
                },
                {
                    "市名": "吉首",
                    "编码": "101251501"
                },
                {
                    "市名": "湘潭",
                    "编码": "101250201"
                }
            ]
        },
        {
            "省": "江苏",
            "市": [{
                    "市名": "南京",
                    "编码": "101190101"
                },
                {
                    "市名": "镇江",
                    "编码": "101190301"
                },
                {
                    "市名": "苏州",
                    "编码": "101190401"
                },
                {
                    "市名": "南通",
                    "编码": "101190501"
                },
                {
                    "市名": "扬州",
                    "编码": "101190601"
                },
                {
                    "市名": "宿迁",
                    "编码": "101191301"
                },
                {
                    "市名": "徐州",
                    "编码": "101190801"
                },
                {
                    "市名": "淮安",
                    "编码": "101190901"
                },
                {
                    "市名": "连云港",
                    "编码": "101191001"
                },
                {
                    "市名": "常州",
                    "编码": "101191101"
                },
                {
                    "市名": "泰州",
                    "编码": "101191201"
                },
                {
                    "市名": "无锡",
                    "编码": "101190201"
                },
                {
                    "市名": "盐城",
                    "编码": "101190701"
                }
            ]
        },
        {
            "省": "黑龙江",
            "市": [{
                    "市名": "哈尔滨",
                    "编码": "101050101"
                },
                {
                    "市名": "牡丹江",
                    "编码": "101050301"
                },
                {
                    "市名": "佳木斯",
                    "编码": "101050401"
                },
                {
                    "市名": "绥化",
                    "编码": "101050501"
                },
                {
                    "市名": "黑河",
                    "编码": "101050601"
                },
                {
                    "市名": "双鸭山",
                    "编码": "101051301"
                },
                {
                    "市名": "伊春",
                    "编码": "101050801"
                },
                {
                    "市名": "大庆",
                    "编码": "101050901"
                },
                {
                    "市名": "七台河",
                    "编码": "101051002"
                },
                {
                    "市名": "鸡西",
                    "编码": "101051101"
                },
                {
                    "市名": "鹤岗",
                    "编码": "101051201"
                },
                {
                    "市名": "齐齐哈尔",
                    "编码": "101050201"
                },
                {
                    "市名": "大兴安岭",
                    "编码": "101050701"
                }
            ]
        },
        {
            "省": "吉林",
            "市": [{
                    "市名": "长春",
                    "编码": "101060101"
                },
                {
                    "市名": "延吉",
                    "编码": "101060301"
                },
                {
                    "市名": "四平",
                    "编码": "101060401"
                },
                {
                    "市名": "白山",
                    "编码": "101060901"
                },
                {
                    "市名": "白城",
                    "编码": "101060601"
                },
                {
                    "市名": "辽源",
                    "编码": "101060701"
                },
                {
                    "市名": "松原",
                    "编码": "101060801"
                },
                {
                    "市名": "吉林",
                    "编码": "101060201"
                },
                {
                    "市名": "通化",
                    "编码": "101060501"
                }
            ]
        },
        {
            "省": "辽宁",
            "市": [{
                    "市名": "沈阳",
                    "编码": "101070101"
                },
                {
                    "市名": "鞍山",
                    "编码": "101070301"
                },
                {
                    "市名": "抚顺",
                    "编码": "101070401"
                },
                {
                    "市名": "本溪",
                    "编码": "101070501"
                },
                {
                    "市名": "丹东",
                    "编码": "101070601"
                },
                {
                    "市名": "葫芦岛",
                    "编码": "101071401"
                },
                {
                    "市名": "营口",
                    "编码": "101070801"
                },
                {
                    "市名": "阜新",
                    "编码": "101070901"
                },
                {
                    "市名": "辽阳",
                    "编码": "101071001"
                },
                {
                    "市名": "铁岭",
                    "编码": "101071101"
                },
                {
                    "市名": "朝阳",
                    "编码": "101071201"
                },
                {
                    "市名": "盘锦",
                    "编码": "101071301"
                },
                {
                    "市名": "大连",
                    "编码": "101070201"
                },
                {
                    "市名": "锦州",
                    "编码": "101070701"
                }
            ]
        }
    ]
}
相关推荐
星火撩猿2 小时前
OpenCv实战笔记(1)在win11搭建opencv4.11.1 + qt5.15.2 + vs2019_x64开发环境
笔记·qt·opencv
先鱼鲨生4 小时前
【Qt】初识Qt
开发语言·qt
chao_7894 小时前
QT开发工具对比:Qt Creator、Qt Designer、Qt Design Studio
开发语言·qt
秋风&萧瑟5 小时前
【QT】QT中的网络编程(TCP 和 UDP通信)
网络·qt·tcp/ip
feiyangqingyun6 小时前
Qt/C++源码/实时视音频通话示例/极低延迟/可外网通话/画中画/支持嵌入式板子
c++·qt·qt视音频通话
游王子6 小时前
Milvus(10):JSON 字段、数组字段
json·milvus
郑文博Coding7 小时前
WebSocket与Socket、TCP、HTTP的关系及区别
websocket·tcp/ip·http
若水晴空初如梦7 小时前
QT聊天项目DAY07
开发语言·qt
Luna_Lovegood_0017 小时前
Qt QGraphicsScene 的用法
开发语言·qt