Hi, I am having a problem displaying an int attribute in json for my tag
element, without adding it the output looks okay
if(tags.length>0)
{
TagList tagList = of.createTagList();
for(int i = 0;i<tags.length;i++) {
Tag tag = of.createTag();
tag.setContent(tags[i]);
*//tag.setCount(new BigInteger(tagCounts[i]));*
tagList.getTag().add(tag);
}
recording.setTagList(tagList);
}
Xml is<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata
xmlns="
http://musicbrainz.org/ns/mmd-2.0#"
xmlns:ext="
http://musicbrainz.org/ns/ext#-2.0"><recording-list
offset="0" count="1"><recording ext:score="100"
id="7ca7782b-a602-448b-b108-bb881a7be2d6"><title>Gravitational
Lenz</title><length>234000</length><artist-credit><name-credit><artist
id="4302e264-1cf0-4d1f-aca7-2a6f89e34b36"><name>Farming
Incident</name><sort-name>Incident,
Farming</sort-name></artist></name-credit></artist-credit><release-list><release
id="1d9e8ed6-3893-4d3b-aa7d-6cd79609e386"><title>Our Glorious 5 Year
Plan</title><status>official</status><release-group
type="album"/><medium-list><track-count>10</track-count><medium><position>1</position><track-list
offset="4" count="10"><track><title>Gravitational
Lens</title></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc
id="123456789"/><isrc
id="abcdefghi"/></isrc-list><*tag-list><tag>indie</tag></tag-list>*</recording></recording-list></metadata>
Json
is{"recording-list":{"offset":0,"count":1,"recording":[{"score":"100","id":"7ca7782b-a602-448b-b108-bb881a7be2d6","title":"Gravitational
Lenz","length":234000,"artist-credit":{"name-credit":[{"artist":{"id":"4302e264-1cf0-4d1f-aca7-2a6f89e34b36","name":"Farming
Incident","sort-name":"Incident,
Farming"}}]},"release-list":{"release":[{"id":"1d9e8ed6-3893-4d3b-aa7d-6cd79609e386","title":"Our
Glorious 5 Year
Plan","status":"official","release-group":{"type":"album"},"medium-list":{"track-count":10,"medium":[{"position":1,"track-list":{"offset":4,"count":10,"track":[{"title":"Gravitational
Lens"}]}}]}}]},"isrc-list":{"isrc":[{"id":"123456789"},{"id":"abcdefghi"}]},*"tag-list":{"tag":["indie"]}}]}}*
I then uncomment the line
if(tags.length>0)
{
TagList tagList = of.createTagList();
for(int i = 0;i<tags.length;i++) {
Tag tag = of.createTag();
tag.setContent(tags[i]);
*//tag.setCount(new BigInteger(tagCounts[i]));*
tagList.getTag().add(tag);
}
recording.setTagList(tagList);
}
Xml is<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata
xmlns="
http://musicbrainz.org/ns/mmd-2.0#"
xmlns:ext="
http://musicbrainz.org/ns/ext#-2.0"><recording-list
offset="0" count="1"><recording ext:score="100"
id="7ca7782b-a602-448b-b108-bb881a7be2d6"><title>Gravitational
Lenz</title><length>234000</length><artist-credit><name-credit><artist
id="4302e264-1cf0-4d1f-aca7-2a6f89e34b36"><name>Farming
Incident</name><sort-name>Incident,
Farming</sort-name></artist></name-credit></artist-credit><release-list><release
id="1d9e8ed6-3893-4d3b-aa7d-6cd79609e386"><title>Our Glorious 5 Year
Plan</title><status>official</status><release-group
type="album"/><medium-list><track-count>10</track-count><medium><position>1</position><track-list
offset="4" count="10"><track><title>Gravitational
Lens</title></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc
id="123456789"/><isrc id="abcdefghi"/></isrc-list>*<tag-list><tag
count="101">indie</tag></tag-list>*</recording></recording-list></metadata>
Json
is{"recording-list":{"offset":0,"count":1,"recording":[{"score":"100","id":"7ca7782b-a602-448b-b108-bb881a7be2d6","title":"Gravitational
Lenz","length":234000,"artist-credit":{"name-credit":[{"artist":{"id":"4302e264-1cf0-4d1f-aca7-2a6f89e34b36","name":"Farming
Incident","sort-name":"Incident,
Farming"}}]},"release-list":{"release":[{"id":"1d9e8ed6-3893-4d3b-aa7d-6cd79609e386","title":"Our
Glorious 5 Year
Plan","status":"official","release-group":{"type":"album"},"medium-list":{"track-count":10,"medium":[{"position":1,"track-list":{"offset":4,"count":10,"track":[{"title":"Gravitational
Lens"}]}}]}}]},"isrc-list":{"isrc":[{"id":"123456789"},{"id":"abcdefghi"}]},*"tag-list":{"tag":[{"count":101,"$":"indie"}]}}]}}*
and now the json has a "$" field between 101 and indie, I dont know much
about json but that isnt right is it ?
And this is the contents of the Tag class:
//
// This file was generated by the JavaTM Architecture for XML
Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-792
// See <a
href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the
source schema.
// Generated on: 2010.03.25 at 10:49:46 PM GMT
//
package org.musicbrainz.mmd2;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content
contained within this class.
*
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{
http://www.w3.org/2001/XMLSchema}anyType">
* <attribute name="count"
type="{
http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"content"
})
@XmlRootElement(name = "tag")
public class Tag {
@XmlValue
protected String content;
@XmlAttribute
@XmlSchemaType(name = "nonNegativeInteger")
protected BigInteger count;
/**
* Gets the value of the content property.
*
* @return
* possible object is
* {_at_link String }
*
*/
public String getContent() {
return content;
}
/**
* Sets the value of the content property.
*
* @param value
* allowed object is
* {_at_link String }
*
*/
public void setContent(String value) {
this.content = value;
}
/**
* Gets the value of the count property.
*
* @return
* possible object is
* {_at_link BigInteger }
*
*/
public BigInteger getCount() {
return count;
}
/**
* Sets the value of the count property.
*
* @param value
* allowed object is
* {_at_link BigInteger }
*
*/
public void setCount(BigInteger value) {
this.count = value;
}
}
thanks Paul