如何将json数据中的复杂字符串转换为数组

时间:2019-02-12 16:33:22

标签: arrays json

JSON:

{
    "arr":"000239@@@a;1=2.5=1;2=5.1=0#b;1=1.3=1;2=1.7=0@@@a;1=39=0;2=8.5=0#b;1=7.6=0;2=2.4=0@@@a#b"
}

我需要结果看起来像这样:

1    a    1    2.5    1
1    a    2    5.1    0
1    b    1    1.3    1
1    b    2    1.7    0
2    a    1    39     0
2    a    2    8.5    0
2    b    1    7.7    0
2    b    2    2.4    0

1 个答案:

答案 0 :(得分:0)

所以您的前两列,我不知道您在那儿寻找什么。您需要更具体地说明这些列与您发布的数据之间的关系。

但是对于其余部分,看来您可以在分号之间进行拆分:

var newArray = arr.split(';');

这将为您提供一个实际的数组,如下所示:

["000239@@@a", "1=2.5=1", "2=5.1=0#b","1=1.3=1", "2=1.7=0@@@a", "1=39=0", "2=8.5=0#b", "1=7.6=0", "2=2.4=0@@@a#b"]

然后,您可以遍历这些内容并获得最后3列:

var lastThreeColumns = newArray.filter( e => e.includes('=') )
    .map( e => e.split( '=' ) );

这将为您提供一个数组数组,如下所示:

[[1, 2.5, 1],[2, 5.1, "0#b"],[1, 1.3, 1]...]

该问题可能会结束,因此请确保下次花更多的时间编写问题。以我的经验,至少要花一个小时才能写出一个SO可以帮助您的问题。