Package com.restfb

Interface JsonMapper

  • All Known Implementing Classes:
    DefaultJsonMapper

    public interface JsonMapper
    Specifies how a Facebook JSON-to-Java (and vice-versa) mapper must operate.

    Note that implementors must be able to handle illegal JSON in toJavaObject(String, Class) and toJavaList(String, Class) in order to correctly process Facebook responses. For example, the Users.getLoggedInUser Legacy API call returns a value like 1240077, which is not valid JSON.

    Author:
    Mark Allen
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  JsonMapper.JsonMappingCompleted
      If you apply this annotation to a method of a type mapped by JsonMapper, it will be called after the mapping operation has been completed.
    • Method Detail

      • toJavaObject

        <T> T toJavaObject​(String json,
                           Class<T> type)
        Given a JSON string, create and return a new instance of a corresponding Java object of type type.

        The Java type must have a no-argument constructor.

        Type Parameters:
        T - Java type to map to.
        Parameters:
        json - The JSON to be mapped to a Java type.
        type - Java type token.
        Returns:
        A Java object (of type type) representation of the JSON input.
        Throws:
        FacebookJsonMappingException - If an error occurs while mapping JSON to Java.
      • toJavaList

        <T> List<T> toJavaList​(String json,
                               Class<T> type)
        Given a JSON string, create and return a new instance of a corresponding Java List which contains elements of type type.

        The Java type must have a no-argument constructor.

        Type Parameters:
        T - Java type to map to for each element of the list.
        Parameters:
        json - The JSON to be mapped to a Java type.
        type - Java type token.
        Returns:
        A Java object (of type List which contains elements of type type) representation of the JSON input.
        Throws:
        FacebookJsonMappingException - If an error occurs while mapping JSON to Java.
      • toJson

        String toJson​(Object object)
        Given a Java object, create and return a JSON string that represents it.

        The object's properties will be traversed recursively, allowing for arbitrarily complex JSON generation.

        Parameters:
        object - The Java object to map to JSON. Can be a Javabean, List, or Map.
        Returns:
        A JSON string.
        Throws:
        FacebookJsonMappingException - If an error occurs while mapping Java to JSON.
        Since:
        1.4
      • toJson

        String toJson​(Object object,
                      boolean ignoreNullValuedProperties)
        Given a Java object, create and return a JSON string that represents it.

        The object's properties will be traversed recursively, allowing for arbitrarily complex JSON generation.

        Parameters:
        object - The Java object to map to JSON. Can be a Javabean, List, or Map.
        ignoreNullValuedProperties - If true, no Javabean properties with null values will be included in the generated JSON.
        Returns:
        A JSON string.
        Throws:
        FacebookJsonMappingException - If an error occurs while mapping Java to JSON.
        Since:
        1.6.5
      • setFacebookClient

        void setFacebookClient​(FacebookClient facebookClient)
        adds a FacebookClient implementation to the mapper.

        This is especially useful for mapping json to Connection objects that need the client itself.

        Parameters:
        facebookClient - that is used for Connection objects