Reader.readMember

bool readMember(string memberName)

Advances the cursor of the reader to the member_name of the object at the current position.

You can use [json.reader.Reader.getValue] and its wrapper functions to retrieve the value of the member; for instance:

json_reader_read_member (reader, "width");
width = json_reader_get_int_value (reader);

After reading the value, [json.reader.Reader.endMember] should be called to reposition the cursor inside the reader, e.g.:

json_reader_read_member (reader, "author");
author = json_reader_get_string_value (reader);
json_reader_end_member (reader);

json_reader_read_member (reader, "title");
title = json_reader_get_string_value (reader);
json_reader_end_member (reader);

If the reader is not currently on an object, or if the member_name is not defined in the object, the reader will be put in an error state until [json.reader.Reader.endMember] is called. This means that if used conditionally, [json.reader.Reader.endMember] must be called on all branches:

if (!json_reader_read_member (reader, "title"))
 {
   g_propagate_error (error, json_reader_get_error (reader));
   json_reader_end_member (reader);
   return FALSE;
 }
else
 {
   const char *str_value = json_reader_get_string_value (reader);
   json_reader_end_member (reader);

   // use str_value

   return TRUE;
 }

Parameters

memberNamethe name of the member to read

Returns

TRUE on success, and FALSE otherwise