HarmonyOS 鸿蒙Next Http请求,若返回的json数据太长会导致无法解析

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Http请求,若返回的json数据太长会导致无法解析

let httpRequest = http.createHttp()
httpRequest.request(“https://oss.huodongxing.com/app/hdx/home.json”, {
header: {
‘User-Agent’: Http.userAgent(),
},
expectDataType: http.HttpDataType.OBJECT
}, (error, resp) => {
Http.response(url, params ?? {}, error, resp).then(result => {
resolve(result)
}, (error: RequestError) => {
reject(error)
})
})

返回的resp会变成String,没有自动解析成object

3 回复
将expectDataType设置为
http.HttpDataType.STRING,然后手动将请求结果转换为json对象

在HarmonyOS中处理长JSON数据解析问题时,首先确保你的应用已正确集成并使用了合适的JSON解析库(如Gson, Fastjson等)。对于长JSON数据,通常的解析问题可能源于内存不足或解析库的限制。尝试以下步骤:

  1. 检查JSON字符串是否完整无误,特别是在数据边界处。
  2. 使用流式解析(如Gson的StreamReader)而非一次性加载整个JSON到内存中,以节省内存。
  3. 增加应用的内存分配限制,在manifest或相关配置文件中调整。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部