0

输出的格式是[{uuid, Readings}, {uuid, Readings}, {uuid,Readings}]
(通常比这个长)

例如......(所有一个字符串,只是格式化为更容易看到)。

[{"uuid": "e2e38e4e-431d-508a-a5f9-e50eaffe6aab", "Readings": [[1351329301000.0, 0.0], [1351330202000.0, 0.0], [1351331102000.0, 0.0]]}, 

{"uuid": "8ed157d9-b31d-5075-bad6-69dfde7a34a4", "Readings": [[1351329301000.0, 0.0], [1351330202000.0, 0.0], [1351411200000.0, 494.0]]}, 

{"uuid": "8737f287-14df-5ccd-82df-e66ca7374b63", "Readings": [[1351329300000.0, 515.0], [1351330200000.0, 467.0], ]}]

我想解析这个,以便我得到“{}”符号之间的所有内容,包括“{}”符号。

我不想分开其他任何东西。'{ }' 符号之间的所有内容都应作为一个字符串保持在一起。

我也感兴趣的是在最后的每个结果周围添加“[]”。

简单的例子:

[ {"uuid": 1, "Readings": [[2,3], [2,6]]}, {"uuid": 1, "Readings": [[5,6], [7,7]]} ]

会产生一个数组,其中

element 0 = "[{"uuid": 1, "Readings": [[2,3], [2,6]]}]"
element 1 = "[{"uuid": 1, "Readings": [[5,6], [7,7]]}]"

任何人都知道正则表达式来选择这样的东西吗?(顺便说一句,我在 Rails 上使用 ruby​​)

4

1 回答 1

0

这相当“hacky”,但我建议使用 JSON Parser 来解析它(你必须自己看看如何做到这一点,我确信有一个库或其他东西)。然后,您可以对返回数组中的每个对象进行字符串化,并将它们放入字符串数组中。

这是我在 javascript 中的做法(您可以将工作流程调整为 RoR)

objArray = JSON.parse(jsonString);
stringArray=[];
for (i=0; i<objArray.length; i++) {
    stringArray.push("[" + JSON.stringify(objArray[i]) + "]");
}

编辑为什么要这样做让我感到困惑,因为将对象放在数组中会更有用

于 2012-10-28T09:35:11.620 回答