AppML Case Study - JSON Files
The HTML Page
This is the HTML source:
<<!DOCTYPE html>
<html lang="en-US">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>
<div class="container" appml-data="appml.php?model=model_cd_from_json">
<h1>CD Collection</h1>
<h3>Extracted from an XML file</h3>
<div appml-include-html="inc_listcommands_nofilter.htm"></div>
<table class="table table-striped table-bordered">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{Title}}</td>
<td>{{Artist}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
</body>
</html>
PHP »
.NET »
The Model
This is the model used in the application:
Model
{
"rowsperpage" : 7,
"data" : {
"type" : "jsonfile",
"filename" : "cd_catalog.js",
"record" : "cd",
"items" : [
{"name" : "Title", "nodename" : "title"},
{"name" : "Artist", "nodename" : "artist"},
{"name" : "Price", "nodename" : "price"}
]
}
}
The File
This is the JSON file:
cd_catalog.js
{
"cd" : [
{ "title" : "Empire Burlesque", "artist" : "Bob Dylan",
"price" : "10.90" },
{ "title" : "Hide your heart", "artist" :
"Bonnie Tyler", "price" : "9.90" },
{ "title" : "Greatest Hits",
"artist" : "Dolly Parton", "price" : "9.90" },
{ "title" : "Still got
the blues", "artist" : "Bob Dylan", "price" : "10.20" },
{ "title" :
"Eros", "artist" : "Eros Ramazzotti", "price" : "9.90" },
{ "title" :
"One night only", "artist" : "Bee Gees", "price" : "10.90" },
{
"title" : "Sylvias Mother", "artist" : "Dr.Hook", "price" : "8.10" },
{ "title" : "Maggie May", "artist" : "Rod Stewart", "price" : "8.50" },
{ "title" : "Empire Burlesque", "artist" : "Bob Dylan", "price" :
"10.90" },
{ "title" : "Hide your heart", "artist" : "Bonnie Tyler",
"price" : "9.90" },
{ "title" : "Greatest Hits", "artist" : "Dolly
Parton", "price" : "9.90" },
{ "title" : "Still got the blues",
"artist" : "Bob Dylan", "price" : "10.20" },
{ "title" : "Eros",
"artist" : "Eros Ramazzotti", "price" : "9.90" },
{ "title" : "One
night only", "artist" : "Bee Gees", "price" : "10.90" },
{ "title" :
"Sylvias Mother", "artist" : "Dr.Hook", "price" : "8.10" },
{ "title"
: "Maggie May", "artist" : "Rod Stewart", "price" : "8.50" },
{
"title" : "Empire Burlesque", "artist" : "Bob Dylan", "price" : "10.90"
},
{ "title" : "Hide your heart", "artist" : "Bonnie Tyler", "price"
: "9.90" },
{ "title" : "Greatest Hits", "artist" : "Dolly Parton",
"price" : "9.90" },
{ "title" : "Still got the blues", "artist" :
"Bob Dylan", "price" : "10.20" },
{ "title" : "Eros", "artist" :
"Eros Ramazzotti", "price" : "9.90" },
{ "title" : "One night only",
"artist" : "Bee Gees", "price" : "10.90" },
{ "title" : "Sylvias
Mother", "artist" : "Dr.Hook", "price" : "8.10" },
{ "title" :
"Maggie May", "artist" : "Rod Stewart", "price" : "8.50" },
{ "title"
: "Empire Burlesque", "artist" : "Bob Dylan", "price" : "10.90" },
{
"title" : "Hide your heart", "artist" : "Bonnie Tyler", "price" : "9.90"
},
{ "title" : "Greatest Hits", "artist" : "Dolly Parton", "price" :
"9.90" },
{ "title" : "Still got the blues", "artist" : "Bob Dylan",
"price" : "10.20" },
{ "title" : "Eros", "artist" : "Eros Ramazzotti",
"price" : "9.90" },
{ "title" : "One night only", "artist" : "Bee
Gees", "price" : "10.90" },
{ "title" : "Sylvias Mother", "artist" :
"Dr.Hook", "price" : "8.10" },
{ "title" : "Maggie May", "artist" :
"Rod Stewart", "price" : "8.50" },
{ "title" : "Empire Burlesque",
"artist" : "Bob Dylan", "price" : "10.90" },
{ "title" : "Hide your
heart", "artist" : "Bonnie Tyler", "price" : "9.90" },
{ "title" :
"Greatest Hits", "artist" : "Dolly Parton", "price" : "9.90" },
{
"title" : "Still got the blues", "artist" : "Bob Dylan", "price" :
"10.20" },
{ "title" : "Eros", "artist" : "Eros Ramazzotti", "price"
: "9.90" },
{ "title" : "One night only", "artist" : "Bee Gees",
"price" : "10.90" },
{ "title" : "Sylvias Mother", "artist" : "Dr.Hook",
"price" : "8.10" },
{ "title" : "Maggie May", "artist" : "Rod
Stewart", "price" : "8.50" }
]
}