从字符串内部提取JsonArray

时间:2012-04-02 20:41:54

标签: json delphi type-conversion

我正在使用带有DBXJSON的Delphi XE2,而我在处理String中包含的JsonArray时遇到了问题。我得到的字符串是:

"[
{DAT_INCL: \"2/3/2012 16:45:9\", NUM_ORDE: 1, NUM_ATND: 734, NUM_ACAO: 2, NUM_RESU: 3},
{DAT_INCL: \"2/3/2012 16:45:10\", NUM_ORDE: 2, NUM_ATND: 734, NUM_ACAO: 4, NUM_RESU: 5},
{DAT_INCL: \"2/3/2012 16:45:10\", NUM_ORDE: 3, NUM_ATND: 734, NUM_ACAO: 8, NUM_RESU: NULL}
]"

该死的引号。

无论我怎么努力,我都无法抓住这个阵列,没有ParseJSONValue并且没有疯狂的类型杂耍可以让阵列从这个引号监狱中出来。

也许你们其中一个人拿到钥匙?

编辑:此字符串已经是一些类型转换的结果。如果有人有兴趣看到我如何提取这个字符串,也许找到一个更好的方法来最终得到阵列(他真的很孤独和害怕),这就是我的做法:

最初,我有一对名为jObject的两对TJsonObject

{
"id": 0,
"data": "[{DAT_INCL: \"08/03/2012 10:07:08\", NUM_ORDE: 1, NUM_ATND: 1, NUM_ACAO: 2, NUM_RESU: 3},
        {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 2, NUM_ATND: 1, NUM_ACAO: 4, NUM_RESU: 5},
        {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 3, NUM_ATND: 1, NUM_ACAO: 8, NUM_RESU: NULL}]"
}

我继续提取相关的TJsonPair,命名为jPair:

jPair := jObject.Get(1);

让我知道这个:

"data": "[{DAT_INCL: \"08/03/2012 10:07:08\", NUM_ORDE: 1, NUM_ATND: 1, NUM_ACAO: 2, NUM_RESU: 3},
        {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 2, NUM_ATND: 1, NUM_ACAO: 4, NUM_RESU: 5},
        {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 3, NUM_ATND: 1, NUM_ACAO: 8, NUM_RESU: NULL}]"

由此,我提取了String,命名为sString

sString:= jPair.JsonValue.ToString;

在问题的开头,我把那个字符串给了我。到目前为止,这一切都很好。

0 个答案:

没有答案