DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
The Abdera JSON Writer serializes Atom objects into a JSON format. The output depends largely on what Abdera Model object is being serialized. Null values are omitted from the output.
Example Serialization: http://www.snellspace.com/public/atom2json.txt
See also http://www.ibm.com/developerworks/library/x-atom2json.html
Serializing org.apache.abdera.model.Document
| Code Block |
|---|
Abdera abdera = new Abdera();
Document doc = ...
Writer writer = abdera.getWriterFactory().getWriter("json");
writer.writeTo(doc,System.out);
|
The fields correspond to the various getters on the Document object and represent information acquired primarily from the HTTP Headers of the source Atom document.
Field | Description |
|---|---|
base | The Base URI |
charset | The charset encoding |
contenttype | The MIME media type of the document |
etag | The Entity Tag of the document |
lastmodified | The number of milliseconds since the epoch indicating the value of the Last-Modified header |
language | The value of the Content-Language header |
slug | The value of the Slug header |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
root | json serialization of the root element |
Serializing org.apache.abdera.model.Feed
| Code Block |
|---|
Abdera abdera = new Abdera();
Document<Feed> doc = ...
Feed feed = doc.getRoot();
Writer writer = abdera.getWriterFactory().getWriter("json");
writer.writeTo(feed,System.out);
|
Produces:
Field | Description |
|---|---|
id | The atom:id value |
title | serialization of the atom:title |
subtitle | serialization of the atom:subtitle |
rights | serialization of the atom:rights |
updated | number of milliseconds since the epoch, serialization of the atom:updated |
generator | serialization of atom:generator |
icon | absolute URI, serialization of atom:icon |
logo | absolute URI, serialization of atom:logo |
authors | array of serialized atom:author objects, see person serialization below |
contributors | array of serialized atom:contributor objects, see person serialization below |
links | array of serialized atom:link objects |
categories | array of serialized atom:category objects |
complete | true if the feed is marked with fh:complete from RFC 5005 |
archive | true if the feed is marked with fh:archive from RFC 5005 |
entries | array of serialized atom:entry objects |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
Serializing org.apache.abdera.model.Entry
| Code Block |
|---|
Abdera abdera = new Abdera();
Document<Entry> doc = ...
Entry entry = doc.getRoot();
Writer writer = abdera.getWriterFactory().getWriter("json");
writer.writeTo(entry,System.out);
|
Field | Description |
|---|---|
id | The atom:id value |
title | serialization of the atom:title |
summary | serialization of the atom:summary |
rights | serialization of the atom:rights |
updated | number of milliseconds since the epoch, serialization of the atom:updated |
published | number of milliseconds since the epoch, serialization of the atom:published |
edited | number of milliseconds since the epoch, serialization of the app:edited |
authors | array of serialized atom:author objects, see person serialization below |
contributors | array of serialized atom:contributor objects, see person serialization below |
links | array of serialized atom:link objects |
categories | array of serialized atom:category objects |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
inreplyto | array of serialized thr:in-reply-to elements |
replies | array of serialized "replies" links with comment counts |
licenses | array of serialized "license" links |
Serializing atom:category
Field | Description |
|---|---|
term | atom:category/@term |
label | atom:category/@label |
scheme | atom:category/@scheme (absolute uri) |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
Serializing atom:generator
Field | Description |
|---|---|
version | atom:generator/@version |
uri | atom:generator/@uri |
value | atom:generator/text() |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
Serializing atom:link
Field | Description |
|---|---|
href | atom:link/@href |
rel | atom:link/@rel |
hreflang | atom:link/@hreflang |
title | atom:link/@title |
length | atom:link/@length |
type | atom:link/@type |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in-scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
Serializing atom:person
Field | Description |
|---|---|
name | atom:author/@name or atom:contributor/@name |
atom:author/@email or atom:contributor/@email | |
uri | atom:author/@uri or atom:contributor/@uri (absolute uri) |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in-scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
Serializing Atom Text constructs (e.g. atom:title, atom:summary, etc)
Field | Description |
|---|---|
type | "text", "html", or "xhtml" |
value | string or xhtml hash |
display | string |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in-scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
base | in-scope xml:base |
XHTML content is serialized as a structure of hash objects within the value field. For a displayable version, use the display field.
Serializing atom:content
Field | Description |
|---|---|
type | "text", "html", "xhtml" or MIME media type |
value | string or xhtml hash |
display | string (only when type equals text, html or xhtml) |
src | atom:content/@src |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in-scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
base | in-scope xml:base |
XHTML content is serialized as a structure of hash objects within the value field. For a displayable version, use the display field.
Serializing app:control
Field | Description |
|---|---|
draft | true or false, app:control/app:draft |
Serializing app:service
Field | Description |
|---|---|
workspaces | array of serialized app:workspace objects |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
Serializing app:workspace
Field | Description |
|---|---|
collections | array of serialized app:collection objects |
title | app:workspace/atom:title |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
Serializing app:collection
Field | Description |
|---|---|
href | app:collection/@href |
title | app:collection/atom:title |
accept | array of MIME media types |
categories | array of serialized app:categories objects |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
Serializing app:categories
Field | Description |
|---|---|
fixed | true or false, app:categories/@fixed |
scheme | app:categories/@scheme |
categories | array of serialized atom:category objects |
extensions | array of serialized extension objects (any element not in the Atom namespace) |
attributes | array of serialized extension attributes ( any attribute not in the Atom namespace ) |
Serializing thr:in-reply-to
Field | Description |
|---|---|
ref | thr:in-reply-to/@ref |
href | thr:in-reply-to/@href |
type | thr:in-reply-to/@type |
source | thr:in-reply-to/@source |
Serializing extension elements
Field | Description |
|---|---|
qname | serialized QName object |
dir | rtl or ltr if Atom Bidi Attribute extension is used |
language | in-scope xml:lang |
whitespace | false if insignificant whitespace should be ignored. equivalent to xml:space |
base | in-scope xml:base |
attributes | array of serialized attributes |
children | array of serialized children |
Serializing attributes
Field | Description |
|---|---|
qname | serialized QName object |
value | string value |
Serializing QName
Field | Description |
|---|---|
name | QName localpart |
ns | QName namespace URI |
prefix | QName prefix |
Accessing the serialized data
| Code Block |
|---|
var feed = { json serialized feed }
document.write( feed.id );
document.write( new Date(feed.updated) );
document.write( feed.title.display );
document.write( feed.title.type );
document.write( feed.entries.length );
for (n = 0; n < feed.entries.length; n++) {
entry = feed.entries[n];
document.write( entry.id );
document.write( entry.title.display );
document.write( entry.title.type );
document.write( entry.content.display );
document.write( entry.content.type );
for (i = 0; i < entry.links.length; i++) {
link = entry.links[i];
document.write( link.rel );
document.write( link.href );
document.write( link.title );
}
}
|