Java Jackson @JsonRawValue Example

1. Introduction

Jackson's @JsonRawValue annotation allows you to serialize a property as raw JSON, meaning the value will be included in the output as is without standard serialization. This is particularly useful when you have a string property containing valid JSON content that you want to include as a part of the serialized JSON output without it being escaped.

2. Example Steps

1. Create a Widget class with a field that contains raw JSON content.

2. Annotate the raw JSON field with @JsonRawValue.

3. Serialize an instance of the Widget class.

4. Observe the serialized JSON string's output.

3. Java Jackson @JsonRawValue Example

import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonJsonRawValueExample {

    public static void main(String[] args) throws Exception {
        // Initialize ObjectMapper
        ObjectMapper mapper = new ObjectMapper();

        // Create an instance of Widget with raw JSON configuration
        Widget widget = new Widget("Button", "{\"color\":\"blue\",\"size\":\"large\"}");

        // Serialize the Widget instance to JSON string
        String serializedWidget = mapper.writeValueAsString(widget);

        // Print the serialized string

    static class Widget {
        private String name;

        private String configuration;

        public Widget(String name, String configuration) {
   = name;
            this.configuration = configuration;

        // Standard getters and setters



4. Step By Step Explanation

In the Widget class, the configuration field contains a raw JSON string. By annotating it with @JsonRawValue, we instruct Jackson to include its content as-is in the serialized JSON output. As a result, in the serialized JSON string, the content of the configuration field is incorporated as a JSON object, not as an escaped string. 

This demonstrates the power of the @JsonRawValue annotation to include raw JSON content directly in the serialization output.