This topic created in 2348 days ago, the information mentioned may be changed or developed.
服务器返回一个字段如下:
...
"characteristics":"[[[5,129]],[[15,280],[16,583]]]",
...
取出[[[5,129]],[[15,280],[16,583]]]之后该如何取出里面的数字值呢?貌似 Gson 不能直接解析这种没有字段名的 json 吧..String.spit()也无法下手..
各位大佬有什么好办法吗?
14 replies • 2020-01-09 11:00:08 +08:00
 |
|
2
chendy Jan 8, 2020
这不就是数组套数组么…
|
 |
|
3
sunhk25 Jan 8, 2020 via Android
数组扁平化? array.flat
|
 |
|
4
JohnZorn Jan 8, 2020 via Android
这不就是三层 list,一层 string.split(,)吗是我想的太简单了吗
|
 |
|
5
zkd8907 Jan 8, 2020
再 parse 一下"[[[5,129]],[[15,280],[16,583]]]"
|
 |
|
6
hwenwur Jan 8, 2020 via Android
拼接一个临时的 json(即 去掉 value 部分的引号): ... "characteristics":[[[5,129]],[[15,280],[16,583]]], ...
|
 |
|
7
maninfog Jan 8, 2020
使用 org 的 JSONObject 把 str 提取成一个 JSONArray,然后遍历得到。或者像楼上一样,把引号去了,写一个 bean 解析,类型应该是 ArrayList<ArrayList<ArrayList<Int>>>
|
 |
|
8
beatboxgao Jan 8, 2020 3
``` String c = "[[[5,129]],[[15,280],[16,583]]]"; Gson gson = new Gson(); int[][][] arr = gson.fromJson(c, int[][][].class); ```
|
 |
|
11
Chemist Jan 8, 2020 via iPhone
把所有的左右中括号去掉,再用逗号分隔就行了。
|
 |
|
12
0o0o0o0 Jan 9, 2020 via Android
好像有个叫 ScriptEngine,js 处理这个就很方便。。。可以直接变成 js 数组,然后想做什么都可以。。。纯小白,说错了请原谅哈哈。。。
|
 |
|
14
richardZhao Jan 9, 2020
数组扁平化 [[[5,129]],[[15,280],[16,583]]].flat(Infinity)
|