0
0
Rest-apiHow-ToBeginner ยท 3 min read

How to Use JSON in REST API: Syntax, Example, and Tips

To use JSON in a REST API, send and receive data formatted as JSON strings in the request and response bodies. Set the Content-Type header to application/json to tell the server or client that the data is JSON formatted.
๐Ÿ“

Syntax

In REST APIs, JSON data is sent in the request or response body as a string. The Content-Type: application/json header tells the receiver to treat the data as JSON. When sending data, you convert your data structure to a JSON string. When receiving, you parse the JSON string back to a data structure.

  • Request Body: JSON string with data to send
  • Response Body: JSON string with data returned
  • Headers: Content-Type: application/json to specify JSON format
http
POST /api/example HTTP/1.1
Host: example.com
Content-Type: application/json

{"key": "value"}
๐Ÿ’ป

Example

This example shows a simple REST API call using JSON to send and receive data. It uses Python's requests library to POST JSON data and print the JSON response.

python
import requests

url = 'https://jsonplaceholder.typicode.com/posts'

# Data to send as JSON
payload = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}

# Send POST request with JSON data
response = requests.post(url, json=payload)

# Print JSON response
print(response.json())
Output
{"id": 101, "title": "foo", "body": "bar", "userId": 1}
โš ๏ธ

Common Pitfalls

Common mistakes when using JSON in REST APIs include:

  • Not setting Content-Type: application/json header, causing the server or client to misinterpret data.
  • Sending data as plain text or other formats instead of JSON string.
  • Not parsing JSON response properly before using it.
  • Malformed JSON syntax causing errors.

Always validate JSON format and headers.

http
Wrong way (missing header):
POST /api/data HTTP/1.1
Host: example.com

{"name": "Alice"}

Right way (with header):
POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json

{"name": "Alice"}
๐Ÿ“Š

Quick Reference

  • Use Content-Type: application/json header for JSON data.
  • Convert data to JSON string before sending.
  • Parse JSON string from response before use.
  • Validate JSON syntax to avoid errors.
  • Use tools or libraries to handle JSON automatically.
โœ…

Key Takeaways

Always set the Content-Type header to application/json when sending JSON data.
Send data as JSON strings in the request body and parse JSON from the response body.
Use libraries to handle JSON conversion and parsing to avoid syntax errors.
Validate JSON format to prevent communication errors in REST APIs.
Clear headers and proper JSON format ensure smooth data exchange in REST APIs.