Microdata parser. Aims to be compatible with http://www.w3.org/TR/microdata/#json and http://www.w3.org/TR/microdata-rdf/
Demo over at http://janpot.github.io/microdata-node.
varmicrodata=require('microdata-node');varhtml='<section itemscope itemtype="http://schema.org/Person"> '+' Hello, my name is '+' <span itemprop="name">John Doe</span>, '+' I am a '+' <span itemprop="jobTitle">graduate research assistant</span> '+' at the '+' <span itemprop="affiliation">University of Dreams</span>. '+' My friends call me '+' <span itemprop="additionalName">Johnny</span>. '+' You can visit my homepage at '+' <a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. '+' <section itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">'+' I live at '+' <span itemprop="streetAddress">1234 Peach Drive</span>,'+' <span itemprop="addressLocality">Warner Robins</span>,'+' <span itemprop="addressRegion">Georgia</span>.'+' </section>'+'</section>';varjson=microdata.toJson(html,{base: 'http://www.example.com'});console.log(JSON.stringify(json,null,2));/*{ "items": [{ "properties": { "address": [{ "properties": { "addressRegion": [ "Georgia" ], "addressLocality": [ "Warner Robins" ], "streetAddress": [ "1234 Peach Drive" ] }, "type": [ "http://schema.org/PostalAddress" ] }], "url": [ "http://www.JohnnyD.com" ], "additionalName": [ "Johnny" ], "affiliation": [ "University of Dreams" ], "jobTitle": [ "graduate research assistant" ], "name": [ "John Doe" ] }, "type": [ "http://schema.org/Person" ] }]}*/varjsonld=microdata.toJsonld(html,{base: 'http://www.example.com'});console.log(JSON.stringify(jsonld,null,2));/*[{ "@id": "_:0", "@type": [ "http://schema.org/Person" ], "http://schema.org/address": [{ "@id": "_:1" }], "http://schema.org/url": [{ "@id": "http://www.JohnnyD.com" }], "http://schema.org/additionalName": [{ "@value": "Johnny" }], "http://schema.org/affiliation": [{ "@value": "University of Dreams" }], "http://schema.org/jobTitle": [{ "@value": "graduate research assistant" }], "http://schema.org/name": [{ "@value": "John Doe" }]}, { "@id": "_:1", "@type": [ "http://schema.org/PostalAddress" ], "http://schema.org/addressRegion": [{ "@value": "Georgia" }], "http://schema.org/addressLocality": [{ "@value": "Warner Robins" }], "http://schema.org/streetAddress": [{ "@value": "1234 Peach Drive" }]}]*/microdata.toJson(html, [config])
parses the provided html to microdata json
microdata.toJsonld(html, [config])
parses the provided html to jsonld
options
config.base: Base url to resolve url properties against.
config.registry: The registry associates a URI prefix with one or more key-value pairs denoting processor behavior.
config.useRdfType: (default false) If set to true, rdf:type predicates won't be converted to @type properties.
config.strict: (default false) Parse strictly according to spec. Does not try to be forgiving of malformed microdata.
config.useNativeTypes: (default true) Converts literals that are numbers or booleans to their corresponding JSOn type.