void HW_IDcard_text::ParseIDCardJson(QString jsonStr) { QJsonParseError jsonError; QString disJson; QString headName; QJsonDocument doucment = QJsonDocument::fromJson(jsonStr.toUtf8(), &jsonError); if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)) { if (doucment.isObject()) { QJsonObject object = doucment.object(); disJson = "姓名:" + parseJsonString(object, "name"); disJson +="\n性别:" + parseJsonString(object, "sex"); disJson +="\n民族:" + parseJsonString(object, "nation"); disJson +="\n出生年月:" + parseJsonString(object, "birthday"); disJson +="\n家庭住址:" + parseJsonString(object, "address"); disJson +="\n身份证号码:" + parseJsonString(object, "number"); disJson +="\n签发机关:" + parseJsonString(object, "department"); disJson +="\n有效期限:" + parseJsonString(object, "timeLimit"); disJson +="\n头像:" + parseJsonString(object, "Image"); //显示头像 headName = parseJsonString(object, "Image"); QPixmap pixmap; pixmap.load(headName); ui->Imagelabel->setPixmap(pixmap); ui->m_infoEdit->setText(disJson); } } }
时间: 2024-03-30 22:33:26 浏览: 86
ML_IDCard_Segmentation-TF-Keras:机器学习项目以识别图像上的身份证
这段代码是一个 C++ 的函数,用于从 JSON 格式的字符串中解析身份证信息,并将解析结果显示在界面上。函数首先通过 QJsonDocument 类的 fromJson() 方法将传入的 JSON 字符串转化为 QJsonDocument 类型的对象,再通过 QJsonObject 类的 object() 方法将 QJsonDocument 对象转化为 QJsonObject 类型的对象,然后使用自定义的 parseJsonString() 函数按照 JSON 字段名逐一解析身份证信息,并将解析结果拼接成一个字符串。最后,函数将解析结果显示在界面的文本框中,并将身份证头像显示在界面的图像框中。
阅读全文