Reader.readMember

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;
  }
class Reader
bool
readMember
(
string memberName
)

Parameters

memberName string

the name of the member to read

Return Value

Type: bool

TRUE on success, and FALSE otherwise