HTML Methodology
The following examples show how different data types are represented in HTML.
They mirror how the data structures are represented in JSON.
Simple types
The representation for simple types mirror those produced by the XML serializer.
Tags are added to help differentiate data types when they cannot be inferred through reflection.
These tags are ignored by browsers and treated as plain text.
Data type |
JSON example |
HTML |
string |
'foo' |
<string>foo</string> |
boolean |
true |
<boolean>true</boolean> |
integer |
123 |
<number>123</number> |
float |
1.23 |
<number>1.23</number> |
null |
null |
<null/> |
Maps
Maps and beans are represented as tables.
The _type attribute is added to differentiate between objects (maps/beans) and arrays
(arrays/collections).
Data type |
JSON example |
HTML |
Map<String,String>
|
{
k1: 'v1'
k2: null
}
|
<table _type='object'>
<tr>
<td>k1</td>
<td>v1</td>
</tr>
<tr>
<td>k2</td>
<td><null/></td>
</tr>
</table>
|
Map<String,Number>
|
{
k1: 123,
k2: 1.23,
k3: null
}
|
<table _type='object'>
<tr>
<td>k1</td>
<td>123</td>
</tr>
<tr>
<td>k2</td>
<td>1.23</td>
</tr>
<tr>
<td>k3</td>
<td><null/></td>
</tr>
</table>
|
Map<String,Object>
|
{
k1: 'v1'
k2: 123,
k3: 1.23,
k4: true,
k5: null
}
|
<table _type='object'>
<tr>
<td>k1</td>
<td>v1</td>
</tr>
<tr>
<td>k2</td>
<td><number>123</number></td>
</tr>
<tr>
<td>k3</td>
<td><number>1.23</number></td>
</tr>
<tr>
<td>k4</td>
<td><boolean>true</boolean></td>
</tr>
<tr>
<td>k5</td>
<td><null/></td>
</tr>
</table>
|
Arrays
Collections and arrays are represented as ordered lists.
Data type |
JSON example |
HTML |
String[]
|
[
'foo'
null
]
|
<ul>
<li>foo</li>
<li><null/></li>
</ul>
|
Number[]
|
[
123,
1.23,
null
]
|
<ul>
<li>123</li>
<li>1.23</li>
<li><null/></li>
</ul>
|
Object[]
|
[
'foo',
123,
1.23,
true,
null
]
|
<ul>
<li>foo</li>
<li><number>123</number></li>
<li><number>1.23</number></li>
<li><boolean>true</boolean></li>
<li><null/></li>
</ul>
|
String[][]
|
[
['foo', null],
null,
]
|
<ul>
<li>
<ul>
<li>foo</li>
<li><null/></li>
</ul>
</li>
<li><null/></li>
</ul>
|
int[]
|
[
123
]
|
<ul>
<li>123</li>
</ul>
|
boolean[]
|
[
true
]
|
<ul>
<li>true</li>
</ul>
|
Collections
Data type |
JSON example |
HTML |
List<String>
|
[
'foo'
null
]
|
<ul>
<li>foo</li>
<li><null/></li>
</ul>
|
List<Number>
|
[
123,
1.23,
null
]
|
<ul>
<li>123</li>
<li>1.23</li>
<li><null/></li>
</ul>
|
List<Object>
|
[
'foo',
123,
1.23,
true,
null
]
|
<ul>
<li>foo</li>
<li><number>123</number></li>
<li><number>1.23</number></li>
<li><boolean>true</boolean></li>
<li><null/></li>
</ul>
|
Beans
Data type |
JSON example |
HTML |
class MyBean {
public String a;
public int b;
public Object c; // String value
public Object d; // Integer value
public MyBean2 e;
public String[] f;
public int[] g;
}
class MyBean2 {
String h;
}
|
{
a: 'foo',
b: 123,
c: 'bar',
d: 456,
e: {
h: 'baz'
}
f: ['qux']
g: [789]
}
|
<table _type='object'>
<tr>
<td>a</td>
<td>foo</td>
</tr>
<tr>
<td>b</td>
<td>123</td>
</tr>
<tr>
<td>c</td>
<td>bar</td>
</tr>
<tr>
<td>d</td>
<td><number>456</number></td>
</tr>
<tr>
<td>e</td>
<td>
<table _type='object'>
<tr>
<td>h</td>
<td>qux</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>f</td>
<td>
<ul>
<li>baz</li>
</ul>
</td>
</tr>
<tr>
<td>g</td>
<td>
<ul>
<li>789</li>
</ul>
</td>
</tr>
</table>
|
Beans with Map properties
Data type |
JSON example |
HTML |
class MyBean {
public Map<String,String> a;
public Map<String,Number> b;
public Map<String,Object> c;
}
|
{
a: {
k1: 'foo'
},
b: {
k2: 123
},
c: {
k3: 'bar',
k4: 456,
k5: true,
k6: null
}
}
|
<table _type='object'>
<tr>
<td>a</td>
<td>
<table _type='object'>
<tr>
<td>k1</td>
<td>foo</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>b</td>
<td>
<table _type='object'>
<tr>
<td>k2</td>
<td>123</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>c</td>
<td>
<table _type='object'>
<tr>
<td>k3</td>
<td>bar</td>
</tr>
<tr>
<td>k4</td>
<td><number>456</number></td>
</tr>
<tr>
<td>k5</td>
<td><boolean>true</boolean></td>
</tr>
<tr>
<td>k6</td>
<td><null/></td>
</tr>
</table>
</td>
</tr>
</table>
|