Я использую 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;
, который выводит меня из этой строки в начале вопроса.И это так же хорошо, как и до сих пор.