HarmonyOS鸿蒙Next中为什么调用崩溃api解析json数据会发生错误
HarmonyOS鸿蒙Next中为什么调用崩溃api解析json数据会发生错误
不调用的话则不会出现错误
Stack trace:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$AsyncFutureTask.done(AsyncTask.java:429)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:929)
Caused by: g.t.c.s: java.lang.NumberFormatException: For input string: "送花花"
at g.t.c.w.n.n$b.e(SourceFile:4)
at g.t.c.w.n.n$b.b(SourceFile:1)
at g.t.c.w.n.i$a.a(SourceFile:1)
at g.t.c.w.n.i$b.b(SourceFile:9)
at g.t.c.e.g(SourceFile:6)
at g.t.c.e.h(SourceFile:2)
at g.t.c.e.j(SourceFile:2)
at g.t.c.e.i(SourceFile:1)
at g.n0.a.a.g.j.a.a(SourceFile:2)
at com.yacey.android.shorealnotes.models.entity.Note.a(SourceFile:1)
at g.n0.a.a.f.d.f(SourceFile:4)
at g.n0.a.a.f.d.h(SourceFile:1)
at g.n0.a.a.f.d.i(SourceFile:3)
at g.n0.a.a.a.k.i.a(SourceFile:2)
at g.n0.a.a.a.k.i.doInBackground(SourceFile:1)
at android.os.AsyncTask$3.call(AsyncTask.java:389)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more
Caused by: java.lang.NumberFormatException: For input string: "送花花"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at g.t.c.y.a.T(SourceFile:15)
at g.t.c.w.n.n$b.e(SourceFile:3)
... 19 more
User actions:
2021-09-29 18:31:18: SplashActivity created
2021-09-29 18:31:18: GuideActivity created
2021-09-29 18:31:19: GuideActivity resumed
2021-09-29 18:31:19: SplashActivity destroyed
2021-09-29 18:31:20: GuideActivity paused
2021-09-29 18:31:20: MainActivity created
2021-09-29 18:31:21: MainActivity resumed
2021-09-29 18:31:21: GuideActivity destroyed
2021-09-29 18:31:23: MainActivity paused
2021-09-29 18:31:23: SettingsActivity created
2021-09-29 18:31:23: SettingsActivity resumed
2021-09-29 18:31:25: SettingsActivity paused
2021-09-29 18:31:25: AcpActivity created
2021-09-29 18:31:25: AcpActivity resumed
2021-09-29 18:31:25: AcpActivity paused
2021-09-29 18:31:26: SettingsActivity resumed
2021-09-29 18:31:28: AcpActivity destroyed
更多关于HarmonyOS鸿蒙Next中为什么调用崩溃api解析json数据会发生错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
楼主你好,可以描述下json数据具体是怎解析的,从错误日志“Caused by: g.t.c.s: java.lang.NumberFormatException: For input string: "送花花"可以看出,是类型转换异常,是把string转换成数值类型时的异常。
更多关于HarmonyOS鸿蒙Next中为什么调用崩溃api解析json数据会发生错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这是我的json储存代码
```java
private static void newBackup(File file, Note note) {
File newBackup = createBackup(file, note);
try {
FileUtils.write(newBackup, note.toJSON(),"UTF-8");
} catch (IOException e) {
LogUtils.d("Failed to backup note: " + note.get_id());
}
}
调用后api前后生成的json数据
{
"q": false,
"b": "秋夕",
"c": "银烛秋光冷画屏,轻罗小扇扑流萤。\n天阶夜色凉如水,卧看牵牛织女星。",
"d": 1622694273418,
"e": 1622694480056,
"f": false,
"g": false,
"h": false,
"j": false,
"l": {
"b": 1633006912411,
"c": "九月",
"d": "",
"e": "-10167017",
"f": 0
},
"m": false,
"n": false,
"o": []
}
{
"p": false,
"a": "秋夕",
"b": "银烛秋光冷画屏,轻罗小扇扑流萤。\n天阶夜色凉如水,坐看牵牛织女星。",
"c": 1633097084873,
"d": 1633097084873,
"e": false,
"f": false,
"g": false,
"i": false,
"l": false,
"m": false,
"n": []
}
开条线程试试?
用的哪个json
org.json,不知道为什么键和值的对应关系被修改,删除崩溃api后恢复正常
欢迎开发小伙伴们进来帮帮楼主
在HarmonyOS鸿蒙Next中,调用崩溃API解析JSON数据时发生错误,可能是由于以下几个原因:
-
API兼容性问题:鸿蒙Next可能对某些API进行了更新或废弃,导致旧版本的API调用在新系统中无法正常工作。如果使用的API在鸿蒙Next中已被修改或移除,调用时可能会引发崩溃。
-
JSON数据格式问题:如果传入的JSON数据格式不符合预期,解析时可能会抛出异常。例如,JSON数据中缺少必要的字段、字段类型不匹配或数据格式错误,都可能导致解析失败。
-
内存管理问题:鸿蒙Next可能在内存管理机制上有所调整,如果API调用过程中内存分配或释放不当,可能会导致程序崩溃。特别是在处理大量数据时,内存泄漏或越界访问可能会引发问题。
-
线程安全问题:如果API调用涉及多线程操作,且未正确处理线程同步,可能会导致数据竞争或死锁,进而引发崩溃。
-
系统权限问题:鸿蒙Next可能对某些API的调用权限进行了限制,如果应用没有获取相应的权限,调用时可能会失败或崩溃。
-
API调用顺序问题:某些API可能依赖于其他API的调用结果,如果调用顺序不正确,可能会导致数据解析失败或程序崩溃。
-
系统资源限制:鸿蒙Next可能对系统资源的使用进行了更严格的限制,如果API调用过程中超出了资源限制,可能会导致崩溃。
-
API内部实现问题:鸿蒙Next中某些API的内部实现可能存在缺陷或未处理异常情况,导致在特定条件下调用时发生崩溃。
要解决这些问题,需要检查API的调用方式、JSON数据的格式、内存管理、线程同步、系统权限、调用顺序以及系统资源使用情况,并确保它们符合鸿蒙Next的要求。
在HarmonyOS鸿蒙Next中,调用崩溃API解析JSON数据时发生错误,可能原因包括:
- JSON格式不符合标准,如缺少引号或逗号;
- 数据类型不匹配,如将字符串误认为数字;
- 内存管理问题,如未正确释放资源;
- API使用不当,如未正确处理异常或回调。
建议检查JSON数据格式、数据类型,并确保API调用符合规范,同时使用调试工具定位具体错误。