ninjs

News in JSON

ninjs standardizes the representation of news in JSON - a lightweight, easy-to-parse, data interchange format. 

We have identified key properties and structures required to represent news and publishing information, and crafted JSON representations that are designed to result in lightweight instance documents. And we've built a JSON schema for ninjs (version 1.1 is available since March 2014), to help you validate your ninjs implementation.

The IPTC welcomes your feedback on how to improve the standard in the ninjs Forum.

Principle Use Cases

In creating ninjs, we focused on two main use cases:

  1. Data interchange - such as via APIs
    • ninjs documents can be very concise, allowing for the inclusion of just the most important properties - such as byline, headline, and body text - as determined by a given provider.
    • ninjs allows the provider to indicate whether there are more properties available, if the recipient would like to request more.
  2. Data at rest - such as in search engines or content management systems
    • ninjs documents can convey a rich set of news publishing properties, such as information that is necessary for the pre-publishing workflow or custom properties that a particular provider wants to express in a standard way.
    • ninjs is designed to be customizable by a particular provider, so that they can express just what they require, without unnecessary overhead
    • ninjs is suitable for use in JSON-native engines, such as MongoDB or Elasticsearch

ninjs Data Model

ninjsScope-w800.jpg

ninjs Object Building Blocks

ninjs_blocks_callouts.jpg

A Simple Example

ninjs can be very simple. This is an example of something that might be returned by an API call.

{
    "uri" : "http://ninjs.example.com/newsitems/20130709simp123",
    "type" : "text",
    "versioncreated" : "2013-07-09T10:37:00Z",
    "byline" : "Paulo Santalucia and Frances d'Emilio",
    "headline" : "Captain of wrecked cruise ship on trial in Italy",
    "body_text" : "GROSSETO, Italy (AP) -- The trial of the captain of the shipwrecked Costa Concordia cruise liner has begun in a theater converted into a courtroom in Tuscany to accommodate all the survivors and relatives of the 32 victims who want to see justice carried out in the 2012 tragedy. The sole defendant, Francesco Schettino, his eyes shaded by sunglasses and slipping into a back door, made no comment to reporters as he arrived for his trial Tuesday on charges of multiple manslaughter, abandoning ship and causing the shipwreck near the island of Giglio. His lawyer, Domenico Pepe, told reporters that, as expected, the judge was postponing the hearing due to an eight-day nationwide lawyers' strike. Pepe said some 1,000 witnesses are expected to eventually testify. Many of them are expected to be from among the 4,2000 passengers and crew aboard the ship that struck a jagged reef off Giglio, took on water and capsized. Schettino has denied wrongdoing."
}

ninjs and Other Standards

JSON is an increasingly popular alternative to (or replacement for) XML. ninjs is designed to be used alongside other IPTC formats, including NewsML-G2, IPTC7901 and rNews.

IPTC ninjs License

IPTC ninjs is published under the Creative Commons Attribution 3.0 license - see the full license agreement at http://creativecommons.org/licenses/by/3.0/. By obtaining, using and/or copying ninjs specification documents, you (the licensee) agree that you have read, understood, and will comply with the terms and conditions of the license.