2015-11-24 3 views
0

Как разобрать эту строку здесь на Delphi 2010:Delphi 2010 Json Синтаксический

{"list": [{"id": "107","name": "John","fname": "Doe"}, 
      {"id": "108","name": "Alex","fname": "Man"}], 
    "success": 1, 
    "count": "2"} 
+0

Для разбора JSON, использовать JSON парсер. –

+0

Я пытался переделать различные примеры синтаксического анализа, но failed = ( – Antuan

+0

Какой JSON-анализатор вы используете? Знаете ли вы, что такое парсер JSON? Это нормально, если ваш ответ отрицательный. Тогда мы можем рассказать вам и сделать вашу жизнь проще. –

ответ

-1
procedure parse_3; 
var 
    txt: PAnsiChar; 
    js: TJSONArray; 
    lat: string; 
    i: integer; 
begin 
    try 
    txt := 
     '{"list": [{"id": "107","name": "John","fname": "Doe"},{"id": "108","name": "Alex","fname": "Man"}],"success": 1, "count": "2"}'; 

    js := ParseJSON(txt); 
    except 
    end; 
    if Assigned(js) and (js is TJSONObject) then 
    begin 
    if js.field['success'].value = 1 then 
    begin 
     for i := 0 to StrToInt(js.field['count'].value) - 1 do 
     begin 

     showmessage(js.field['list'].child[i].field['id'].value +' | '+js.field['list'].child[i].field['name'].value +' | '+js.field['list'].child[i].field['fname'].value); 
     end; 
    end; 
    end; 
end; 
+1

Если возникает исключение, вы проглатываете его, а 'js' не инициализируется. Поэтому последующее использование' js' недопустимо. -1 –