Извлечение значений из файла JSON с помощью SuperObject
Как следует из названия, я пытаюсь извлечь значение из очень просто структурированного файла JSON, используя Delphi 7 и библиотеку SuperObject, но мне еще не удалось найти какие-либо примеры, которые охватывают эту самую основную тему, и надеялся, что некоторые из гуру здесь могут быть в состоянии предложить мне некоторую помощь.
У меня есть простой файл JSON (с именем test.json), который имеет следующую структуру, и я хочу знать, как я могу загрузить этот файл в delphi и затем извлечь значение для "фамилии" из предоставленной информации.
Я уверен, что это чрезвычайно простая задача, но, как я уже говорил, я не смог найти никаких примеров того, как это сделать, и надеялся на некоторую помощь.
пример файла JSON
{
id: 212,
first_name: "bob",
last_name: "smith",
age: 25
}
2 ответа
Сначала объявите экземпляр объекта как ISuperObject
Интерфейс в этом случае. Затем назначьте его, используя TSuperObject.ParseString
или даже просто SO
проанализировать вашу строку JSON. Затем вы можете прочитать значения, используя однобуквенные свойства, в зависимости от типа значения, которое вы читаете...
var
O: ISuperObject;
ID, Age: Integer;
FirstName, LastName: String;
begin
O:= SO(MyJsonString);
ID:= O.I['id'];
FirstName:= O.S['first_name'];
LastName:= O.S['last_name'];
Age:= O.I['age'];
end;
Имейте в виду, однако, что здесь, в Stack Overflow, обычно все не так. Единственная причина, по которой я ответил, в том, что это было быстро и легко, и потому что вы, кажется, здесь новичок. Существует множество ресурсов о том, как использовать SuperObject; в демоверсиях, которые вы скачали с библиотекой, по всему Google и прямо здесь, в Stack Overflow.
Следующий мой пример
function GetLastName(const FileName: string): string;
var
O: ISuperObject;
begin
// transport json file to superobject;
O:= TSuperObject.ParseFile(FileName, False);
// get value of object memeber
result:= O['last_name'].AsString;
end;