public PublishBatchRequestEntry withMessageStructure(String messageStructure) {
        setMessageStructure(messageStructure);
        return this;
    }
<p>
Set <code>MessageStructure</code> to <code>json</code> if you want to send a different message for each protocol.
For example, using one publish action, you can send a short message to your SMS subscribers and a longer message
to your email subscribers. If you set <code>MessageStructure</code> to <code>json</code>, the value of the
<code>Message</code> parameter must:
</p>
<ul>
<li>
<p>
be a syntactically valid JSON object; and
</p>
</li>
<li>
<p>
contain at least a top-level JSON key of "default" with a value that is a string.
</p>
</li>
</ul>
<p>
You can define other top-level keys that define the message you want to send to a specific transport protocol
(e.g. http).
</p>

@param messageStructure
       Set <code>MessageStructure</code> to <code>json</code> if you want to send a different message for each
       protocol. For example, using one publish action, you can send a short message to your SMS subscribers and
       a longer message to your email subscribers. If you set <code>MessageStructure</code> to <code>json</code>,
       the value of the <code>Message</code> parameter must: </p>
       <ul>
       <li>
       <p>
       be a syntactically valid JSON object; and
       </p>
       </li>
       <li>
       <p>
       contain at least a top-level JSON key of "default" with a value that is a string.
       </p>
       </li>
       </ul>
       <p>
       You can define other top-level keys that define the message you want to send to a specific transport
       protocol (e.g. http).
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-sns/src/main/java/com/amazonaws/services/sns/model/PublishBatchRequestEntry.java