Извлечение JsonArray из строки - PullRequest
1 голос
/ 03 апреля 2012

Я использую Delphi XE2 с DBXJSON, и у меня возникают проблемы с обработкой JsonArray, содержащегося внутри String.Вот строка, которую я получил:

"[
{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 и никакое безумное жонглирование не может вывести массив из этой тюрьмы с кавычками.

Может быть, один из вас получил ключ?

РЕДАКТИРОВАТЬ: Эта строка уже является результатомнемного преобразования типа.Если кому-то интересно посмотреть, как я извлек эту строку, возможно, чтобы найти лучший способ, наконец, вывести массив (он действительно одинок и напуган), вот как я это сделал:

Первоначально у меня былдве пары TJsonObject с именем jObject

{
"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;

, который выводит меня из этой строки в начале вопроса.И это так же хорошо, как и до сих пор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...