getYourMother
V2EX  ›  Android

大佬们,请问这种纯数字的 json 有解析的办法吗?

  •  
  •   getYourMother · Jan 8, 2020 · 15574 views
    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
    YuTengjing
        1
    YuTengjing  
       Jan 8, 2020 via Android
    复杂的字符串处理上正则
    chendy
        2
    chendy  
       Jan 8, 2020
    这不就是数组套数组么…
    sunhk25
        3
    sunhk25  
       Jan 8, 2020 via Android
    数组扁平化? array.flat
    JohnZorn
        4
    JohnZorn  
       Jan 8, 2020 via Android
    这不就是三层 list,一层 string.split(,)吗是我想的太简单了吗
    zkd8907
        5
    zkd8907  
       Jan 8, 2020
    再 parse 一下"[[[5,129]],[[15,280],[16,583]]]"
    hwenwur
        6
    hwenwur  
       Jan 8, 2020 via Android
    拼接一个临时的 json(即 去掉 value 部分的引号):
    ...
    "characteristics":[[[5,129]],[[15,280],[16,583]]],
    ...
    maninfog
        7
    maninfog  
       Jan 8, 2020
    使用 org 的 JSONObject 把 str 提取成一个 JSONArray,然后遍历得到。或者像楼上一样,把引号去了,写一个 bean 解析,类型应该是 ArrayList<ArrayList<ArrayList<Int>>>
    beatboxgao
        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);
    ```
    wangyzj
        9
    wangyzj  
       Jan 8, 2020
    decode 套娃
    vance123
        10
    vance123  
       Jan 8, 2020
    写个自动机解析字符串
    Chemist
        11
    Chemist  
       Jan 8, 2020 via iPhone
    把所有的左右中括号去掉,再用逗号分隔就行了。
    0o0o0o0
        12
    0o0o0o0  
       Jan 9, 2020 via Android
    好像有个叫 ScriptEngine,js 处理这个就很方便。。。可以直接变成 js 数组,然后想做什么都可以。。。纯小白,说错了请原谅哈哈。。。
    tankren
        13
    tankren  
       Jan 9, 2020
    Regex?
    richardZhao
        14
    richardZhao  
       Jan 9, 2020
    数组扁平化
    [[[5,129]],[[15,280],[16,583]]].flat(Infinity)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 06:51 · PVG 14:51 · LAX 23:51 · JFK 02:51
    ♥ Do have faith in what you're doing.