{
    "Additional Examples 1":{
        "level":4,
        "variables":{
            "id"           : "person",
            "token"        : "12345",
            "fields"       : ["id", "name", "picture"],
            "format"       : "json",
            "q"            : "URI Templates",
            "page"         : "5",
            "lang"         : "en",
            "geocode"      : ["37.76","-122.427"],
            "first_name"   : "John",
            "last.name"    : "Doe",
            "Some%20Thing" : "foo",
            "number"       : 6,
            "long"         : 37.76,
            "lat"          : -122.427,
            "group_id"     : "12345",
            "query"        : "PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }",
            "uri"          : "http://example.org/?uri=http%3A%2F%2Fexample.org%2F",
            "word"         : "drücken",
            "Stra%C3%9Fe"  : "Grüner Weg",
            "random"       : "šöäŸœñê€£¥‡ÑÒÓÔÕÖ×ØÙÚàáâãäåæçÿ",
            "assoc_special_chars"  :
              { "šöäŸœñê€£¥‡ÑÒÓÔÕ" : "Ö×ØÙÚàáâãäåæçÿ" }
        },
        "testcases":[

            [ "{/id*}" , "/person" ],
            [ "{/id*}{?fields,first_name,last.name,token}","/person?fields=id,name,picture&first_name=John&last.name=Doe&token=12345"],
            ["/search.{format}{?q,geocode,lang,locale,page,result_type}","/search.json?q=URI%20Templates&geocode=37.76,-122.427&lang=en&page=5"],
            ["/test{/Some%20Thing}", "/test/foo" ],
            ["/set{?number}", "/set?number=6"],
            ["/loc{?long,lat}" , "/loc?long=37.76&lat=-122.427"],
            ["/base{/group_id,first_name}/pages{/page,lang}{?format,q}","/base/12345/John/pages/5/en?format=json&q=URI%20Templates"],
            ["/sparql{?query}", "/sparql?query=PREFIX%20dc%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%20SELECT%20%3Fbook%20%3Fwho%20WHERE%20%7B%20%3Fbook%20dc%3Acreator%20%3Fwho%20%7D"],
            ["/go{?uri}", "/go?uri=http%3A%2F%2Fexample.org%2F%3Furi%3Dhttp%253A%252F%252Fexample.org%252F"],
            ["/service{?word}", "/service?word=dr%C3%BCcken"],
            ["/lookup{?Stra%C3%9Fe}", "/lookup?Stra%C3%9Fe=Gr%C3%BCner%20Weg"],
            ["{random}" , "%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF"],
            ["{?assoc_special_chars*}", "?%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95=%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF"]
        ]
    },
    "Additional Examples 2":{
        "level":4,
        "variables":{
            "id" : ["person","albums"],
            "token" : "12345",
            "fields" : ["id", "name", "picture"],
            "format" : "atom",
            "q" : "URI Templates",
            "page" : "10",
            "start" : "5",
            "lang" : "en",
            "geocode" : ["37.76","-122.427"]
        },
        "testcases":[

            [ "{/id*}" , "/person/albums" ],
            [ "{/id*}{?fields,token}" , "/person/albums?fields=id,name,picture&token=12345" ]
        ]
    },
    "Additional Examples 3: Empty Variables":{
        "variables" : {
            "empty_list" : [],
            "empty_assoc" : {}
        },
        "testcases":[
            [ "{/empty_list}", [ "" ] ],
            [ "{/empty_list*}", [ "" ] ],
            [ "{?empty_list}", [ ""] ],
            [ "{?empty_list*}", [ "" ] ],
            [ "{?empty_assoc}", [ "" ] ],
            [ "{?empty_assoc*}", [ "" ] ]
        ]
    },
    "Additional Examples 4: Numeric Keys":{
        "variables" : {
            "42" : "The Answer to the Ultimate Question of Life, the Universe, and Everything",
            "1337" : ["leet", "as","it", "can","be"],
            "german" : {
                "11": "elf",
                "12": "zwölf"
            }
        },
        "testcases":[
            [ "{42}", "The%20Answer%20to%20the%20Ultimate%20Question%20of%20Life%2C%20the%20Universe%2C%20and%20Everything"],
            [ "{?42}", "?42=The%20Answer%20to%20the%20Ultimate%20Question%20of%20Life%2C%20the%20Universe%2C%20and%20Everything"],
            [ "{1337}", "leet,as,it,can,be"],
            [ "{?1337*}", "?1337=leet&1337=as&1337=it&1337=can&1337=be"],
            [ "{?german*}", [ "?11=elf&12=zw%C3%B6lf", "?12=zw%C3%B6lf&11=elf"] ]
        ]
    },
    "Additional Examples 5: Explode Combinations":{
        "variables" : {
            "id" : "admin",
            "token" : "12345",
            "tab" : "overview",
            "keys" : {
                "key1": "val1",
                "key2": "val2"
            }
        },
        "testcases":[
            [ "{?id,token,keys*}", [
                "?id=admin&token=12345&key1=val1&key2=val2",
                "?id=admin&token=12345&key2=val2&key1=val1"]
            ],
            [ "{/id}{?token,keys*}", [
                "/admin?token=12345&key1=val1&key2=val2",
                "/admin?token=12345&key2=val2&key1=val1"]
            ],
            [ "{?id,token}{&keys*}", [
                "?id=admin&token=12345&key1=val1&key2=val2",
                "?id=admin&token=12345&key2=val2&key1=val1"]
            ],
            [ "/user{/id}{?token,tab}{&keys*}", [
                "/user/admin?token=12345&tab=overview&key1=val1&key2=val2",
                "/user/admin?token=12345&tab=overview&key2=val2&key1=val1"]
            ]
        ]
    },
    "Additional Examples 6: Reserved Expansion":{
        "variables" : {
            "id" : "admin%2F",
            "not_pct" : "%foo",
            "list" : ["red%25", "%2Fgreen", "blue "],
            "keys" : {
                "key1": "val1%2F",
                "key2": "val2%2F"
            }
        },
        "testcases": [
			["{+id}", "admin%2F"],
			["{#id}", "#admin%2F"],
			["{id}", "admin%252F"],
			["{+not_pct}", "%25foo"],
			["{#not_pct}", "#%25foo"],
			["{not_pct}", "%25foo"],
			["{+list}", "red%25,%2Fgreen,blue%20"],
			["{#list}", "#red%25,%2Fgreen,blue%20"],
			["{list}", "red%2525,%252Fgreen,blue%20"],
			["{+keys}", "key1,val1%2F,key2,val2%2F"],
			["{#keys}", "#key1,val1%2F,key2,val2%2F"],
			["{keys}", "key1,val1%252F,key2,val2%252F"]
        ]
    }
}
