HarmonyOS 鸿蒙Next JSON 解析数据
HarmonyOS 鸿蒙Next JSON 解析数据
可以引入三方库解析json对象
1.引入三方库:
ohpm install class-transformer
ohpm install reflect-metadata
json转对象demo:
import { Type, plainToClass } from 'class-transformer'
import “reflect-metadata”
export class CardTable {
‘soapen:Envelope’: Body3
‘@xmlns:soapenv’: string
}
export class Body3 {
‘soapenv:Body’: Three3
}
export class Three3 {
‘CM-MOB-IF06’: Four3
}
export class Four3 {
output?: data3
input?: Five3
}
export class data3 {
chargeHis?: Alldata4[]
}
export class Alldata4 {
PayAmt?: string
PaySq?: string
PayDate?: string
}
export class Five3 {
UniUserCode?: string
}
function a() {
let jsonStr=’{ “global”: {“soapen:Envelope”: {“soapenv:Body”:{“CM-MOB-IF06”:{“output”:{“chargeHis”:[{“PayAmt”:“payamt01”,“PaySq”:“PaySq01”,“PayDate”:“PayDate01”}]},“input”:{“UniUserCode”:“uniUserCode01”}}}}}}’
let mapInfo01: Record<string, Object> = JSON.parse(jsonStr) as Record<string, Object>
let cardInfo02 = plainToClass(CardTable, mapInfo01.global);
console.info(“mapInfo01 =” + mapInfo01)
console.info(“cardInfo02 =” + cardInfo02)
}
@Entry
@Component
struct Index {
@State message: string = ‘Hello World’;
build() {
Column() {
Text(this.message)
.id(‘Index240715112917104_01HelloWorld’)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
a()
})
}
.height(‘100%’)
.width(‘100%’)
}
}
更多关于HarmonyOS 鸿蒙Next JSON 解析数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
JSON.parse("")
在HarmonyOS鸿蒙Next中解析JSON数据,你可以使用鸿蒙系统提供的JSON解析库。鸿蒙的JSON解析库提供了一套简洁的API,用于处理JSON数据的编码和解码。以下是一个基本的示例,展示如何在鸿蒙应用中解析JSON数据:
首先,确保你的项目中已经包含了鸿蒙的JSON库。然后,你可以使用以下代码来解析JSON数据:
#include <json/json.h>
#include <iostream>
#include <string>
int main() {
const char* jsonData = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
Json::CharReaderBuilder readerBuilder;
Json::Value root;
std::string errs;
std::istringstream s(jsonData);
bool parsingSuccessful = Json::parseFromStream(readerBuilder, s, &root, &errs);
if (parsingSuccessful) {
std::string name = root["name"].asString();
int age = root["age"].asInt();
std::string city = root["city"].asString();
std::cout << "Name: " << name << ", Age: " << age << ", City: " << city << std::endl;
} else {
std::cerr << "Failed to parse JSON: " << errs << std::endl;
}
return 0;
}
注意,上述代码使用了C++风格的JSON库,这是在鸿蒙系统中处理JSON数据的一种常见方式。如果你的应用是基于JavaScript或其他语言,解析JSON的方式将有所不同。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html