当前位置: 首页 > news >正文

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

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

  • 1.http协议的原理
  • 2.QT中http协议的通信流程
    • 2.1 方法步骤
  • 3.使用http协议(通过http下载图片和获取天气预报信息)
    • 3.1 http下载网络上的图片(下载小文件)
      • 3.1.1 示例代码
      • 3.1.2 现象
    • 3.2 获取网络上天气预报
      • 3.2.1 免费的天气预报接口:
  • 4.json数据的构成
  • 5.如何解析json数据
    • 5.1 示例代码:(代码为获取网络上的天气预报)
    • 5.2 现象
  • 附件:以下是天气预报json数据获取中使用的城市代码:

1.http协议的原理

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

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

2.1 方法步骤

涉及到三个类:QNetworkRequest --》 http请求QNetworkAccessManager --》管理http请求(发送http请求)QNetworkReply --》http应答
第一步:创建一个http请求 QNetworkRequest::QNetworkRequest(const QUrl &url = QUrl())参数:url --》表示网址QUrl::QUrl(const QString &url)参数:url --》要访问的网址
第二步:创建QNetworkAccessManager的对象,该对象发送刚才的请求//http中有两种常见的请求方法,分别是get/postQNetworkReply *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

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

3.1.1 示例代码

// 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_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic: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即为城市代码(城市代码见后面附件)。

  • 例如获取广州天气:http://t.weather.itboy.net/api/weather/city/101280101

浏览器获取的天气数据:(也可勾选优质打印,输出为排版好的json格式)
在这里插入图片描述
在这里插入图片描述
或者通过json在线解析工具将其解析为json格式的数据:
json在线解析工具网址:https://www.jyshare.com/front-end/53/

在这里插入图片描述

  • 例如获取上海天气:http://t.weather.itboy.net/api/weather/city/101020100
    在这里插入图片描述

4.json数据的构成

json数据:一种数据格式,在计算机前端开发中经常使用这个格式的数据,保存信息很方便
json数据只能由数组,对象,键值对三种构成
\quad 对象:用{}来表示,可以嵌套 {键值对}
\quad 数组:用[]来表示,数组里面只能存放相同类型的数据 [1,2,3] [{},{},{}] [键值对,键值对,键值对]
\quad 键值对:用键:值表示, 键只能是字符串,值可以是任意合法类型

5.如何解析json数据

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 示例代码:(代码为获取网络上的天气预报)

// 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_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic: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/101280101QString 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数据获取中使用的城市代码:

{"城市代码": [{"省": "北京","市": [{"市名": "北京","编码": "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"}]}]
}

相关文章:

  • express 怎么搭建 WebSocket 服务器
  • Linux | 了解Linux中的任务调度---at与crontab 命令
  • 调试Cortex-M85 MCU启动汇编和链接命令文件 - 解题一则
  • 基于多策略混合改进哈里斯鹰算法的混合神经网络多输入单输出回归预测模型HPHHO-CNN-LSTM-Attention
  • 【AI提示词】黑天鹅模型专家
  • 如何提高情商?(优化版)
  • 【转载】【翻译】图解智能体到智能体 (A2A) 协议
  • org.apache.poi——将 office的各种类型文件(word等文件类型)转为 pdf
  • 14.Excel:排序和筛选
  • 19、权限控制:分院帽系统——React 19 RBAC实现
  • Kubernetes 安装 minikube
  • Day3:设置页面全局渐变线性渐变背景色uniapp壁纸实战
  • qmt下载的数据放在了哪里了?
  • 利用flask设计接口
  • Linux 的网络卡
  • 黑马点评day01(基于Redis)
  • C++ 多态:原理、实现与应用
  • 补充:建立实体类与数据表的映射关系
  • C盘莫名其妙一直变大
  • 从github的插件直接导入unity
  • 视频丨054B型护卫舰钦州舰南海实战化训练
  • 力保夏粮丰收,粮食大省江苏多地党政主官到田间察看小麦长势
  • 韩代总统李周浩履职
  • “网约摩托”在部分县城上线:起步价五六元,专家建议纳入监管
  • 美国第一季度经济环比萎缩0.3%,特朗普:怪拜登,与关税无关
  • 中国金茂向滨江集团提供11.21亿元诚意金借款,拟合作开发3月获取的地块