Overview
| Artifact ID: | fc4640ce0dd80f9baebff4545bcf9b7feab31896 |
|---|---|
| Ticket: | 3508603fffffffffffffffffffffffffffffffff |
| Date: | 2012-03-19 19:00:00 |
| User: | aldobu |
| Artifact Attached: | 596f98c5381222c04d663b1fe8c9963a84247925 |
| Filename: | patch-request.txt |
| Description: | The original request as a file.txt |
Content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86Based on json.tcl (1.1.2) I added a new proc named "json2prettydict" Aim of this proc is to return a "pretty-printed" tcl-dictionary. I think this proc could be useful for documentating complex nested dictionaries. - Internal Notes - "json2prettydict" is heavily based on existing json2dict and json::parseXXX procs. I slightly changed the internal code of all json::parseXXX procs, so that these procs, may be called in two ways: for getting a (traditional) tcl-dict or for getting a pretty-printed tcl-dict. [Source code is attached] ------------------------------------- Here is a demo: set jsonStr { \ { "photos": { "page": 1, "pages": "726", "perpage": 3, "total": "7257", "photo": [ { "id": "6974156079", "owner": "74957296@N08", "secret": "005d743f82", "server": "7197", "farm": 8, "title": "Kenya Watamu \"Deep Sea Fishing\" \"Indian Ocean\" \"Blue Marlin\"", "ispublic": 1, "isfriend": 0, "isfamily": 0 }, { "id": "6822988100", "owner": "52857411@N08", "secret": "56630c18e8", "server": "7183", "farm": 8, "title": "Gedi Ruins, Local Guide", "ispublic": 1, "isfriend": 0, "isfamily": 0 }, { "id": "6822909640", "owner": "52857411@N08", "secret": "f4e392ea36", "server": "7063", "farm": 8, "title": "Local Fisherman, Mida Creek", "ispublic": 1, "isfriend": 0, "isfamily": 0 } ] }, "stat": "ok" } } # First, just for comparision, call json2dict set d1 [json::json2dict $jsonStr] # result is the following if {0} { photos {page 1 pages 726 perpage 3 total 7257 photo {{id 6974156079 owner 74957296@N08 secret 005d743f82 server 7197 farm 8 title {Kenya Watamu "Deep Sea Fishing" "Indian Ocean" "Blue Marlin"} ispublic 1 isfriend 0 isfamily 0} {id 6822988100 owner 52857411@N08 secret 56630c18e8 server 7183 farm 8 title {Gedi Ruins, Local Guide} ispublic 1 isfriend 0 isfamily 0} {id 6822909640 owner 52857411@N08 secret f4e392ea36 server 7063 farm 8 title {Local Fisherman, Mida Creek} ispublic 1 isfriend 0 isfamily 0}}} stat ok } # Then create a pretty printed dictionary set d2 [json::json2prettydict $jsonStr] # result is the following if {0} { photos { page 1 pages 726 perpage 3 total 7257 photo { { id 6974156079 owner 74957296@N08 secret 005d743f82 server 7197 farm 8 title {Kenya Watamu "Deep Sea Fishing" "Indian Ocean" "Blue Marlin"} ispublic 1 isfriend 0 isfamily 0 } { id 6822988100 owner 52857411@N08 secret 56630c18e8 server 7183 farm 8 title {Gedi Ruins, Local Guide} ispublic 1 isfriend 0 isfamily 0 } { id 6822909640 owner 52857411@N08 secret f4e392ea36 server 7063 farm 8 title {Local Fisherman, Mida Creek} ispublic 1 isfriend 0 isfamily 0 } } } stat ok } # -- end
