HTTP

public class HTTP

Convert an HTTP header to a JSONObject and back.

Author:JSON.org

Fields

CRLF

public static final String CRLF

Carriage return/line feed.

Methods

toJSONObject

public static JSONObject toJSONObject(String string)

Convert an HTTP header string into a JSONObject. It can be a request header or a response header. A request header will contain

{
   Method: "POST" (for example),
   "Request-URI": "/" (for example),
   "HTTP-Version": "HTTP/1.1" (for example)
}

A response header will contain

{
   "HTTP-Version": "HTTP/1.1" (for example),
   "Status-Code": "200" (for example),
   "Reason-Phrase": "OK" (for example)
}

In addition, the other parameters in the header will be captured, using the HTTP field names as JSON names, so that

Date: Sun, 26 May 2002 18:06:04 GMT
Cookie: Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s
Cache-Control: no-cache

become

{...
   Date: "Sun, 26 May 2002 18:06:04 GMT",
   Cookie: "Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s",
   "Cache-Control": "no-cache",
...}

It does no further checking or conversion. It does not parse dates. It does not do ‘%’ transforms on URLs.

Parameters:
  • string – An HTTP header string.
Throws:
Returns:

A JSONObject containing the elements and attributes of the XML string.

toString

public static String toString(JSONObject jo)

Convert a JSONObject into an HTTP header. A request header must contain

{
   Method: "POST" (for example),
   "Request-URI": "/" (for example),
   "HTTP-Version": "HTTP/1.1" (for example)
}

A response header must contain

{
   "HTTP-Version": "HTTP/1.1" (for example),
   "Status-Code": "200" (for example),
   "Reason-Phrase": "OK" (for example)
}

Any other members of the JSONObject will be output as HTTP fields. The result will end with two CRLF pairs.

Parameters:
  • jo – A JSONObject
Throws:
  • JSONException – if the object does not contain enough information.
Returns:

An HTTP header string.