# APIJSON A Functional JSON Format Protocal. You can set any JSON structure and your server will return a JSON String with the structure you had set like this: ## Request: {
    "[]": {                           //request an array
        "page": 1,                //array condition
        "count": 2,        
        "User": {                  //request an object form the table named User
            "range": 1,           //object condition
            "sex": 0       
        },
        "work": {
            "userId": “/User/id”  //rely path with default parent path,starts from the same level object's path
        },
        "Comment[]": {            //request an array named Comment
            "page": 0,
            "count": 3,
            "Comment": {
                 "workId": “[]/Work/id”  //full rely path
             }
        }
    }
}

## Response: {
    "[]":{
        "0":{
            "User":{
                "picture":"",
                "id":"38710",
                "sex":"0",
                "phone":"1300038710",
                "name":"Name-38710",
                "head":"http://www.tooopen.com/view/38710.html"
            },
            "Work":{
                "id":470,
                "title":"Title-470",
                "content":"This is a Content...-470",
                "userId":38710,
                "picture":"http://www.tooopen.com/view/470.html"
            },
            "Comment[]":{
                "0":{
                    "Comment":{
                        "id":4,
                        "parentId":0,
                        "workId":470,
                        "userId":310,
                        "targetUserId":14604,
                        "content":"This is a Content...-4",
                        "targetUserName":"targetUserName-14604",
                        "userName":"userName-93781"
                    }
                },
                "1":{
                    "Comment":{
                        "id":22,
                        "parentId":221,
                        "workId":470,
                        "userId":332,
                        "targetUserId":5904,
                        "content":"This is a Content...-22",
                        "targetUserName":"targetUserName-5904",
                        "userName":"userName-11679"
                    }
                },
                "2":{
                    "Comment":{
                        "id":47,
                        "parentId":4,
                        "workId":470,
                        "userId":10,
                        "targetUserId":5477,
                        "content":"This is a Content...-47",
                        "targetUserName":"targetUserName-5477",
                        "userName":"userName-80271"
                    }
                }
            }
        },
        "1":{
            "User":{
                "picture":"",
                "id":"70793",
                "sex":"0",
                "phone":"1300070793",
                "name":"Name-70793",
                "head":"http://www.tooopen.com/view/70793.html"
            },
            "Work":{
                "id":170,
                "title":"Title-73",
                "content":"This is a Content...-73",
                "userId":70793,
                "picture":"http://www.tooopen.com/view/73.html"
            },
            "Comment[]":{
                "0":{
                    "Comment":{
                        "id":44,
                        "parentId":0,
                        "workId":170,
                        "userId":7073,
                        "targetUserId":6378,
                        "content":"This is a Content...-44",
                        "targetUserName":"targetUserName-6378",
                        "userName":"userName-88645"
                    }
                },
                "1":{
                    "Comment":{
                        "id":54,
                        "parentId":0,
                        "workId":170,
                        "userId":3,
                        "targetUserId":62122,
                        "content":"This is a Content...-54",
                        "targetUserName":"targetUserName-62122",
                        "userName":"userName-82381"
                    }
                },
                "2":{
                    "Comment":{
                        "id":99,
                        "parentId":44,
                        "workId":170,
                        "userId":793,
                        "targetUserId":7166,
                        "content":"This is a Content...-99",
                        "targetUserName":"targetUserName-7166",
                        "userName":"userName-22949"
                    }
                }
            }
        }
    }
}

## Usage ### 1.Download and Unzip APIJSON project Clone or download > Download ZIP > Unzip to a path and remember it. ### 2.Import MySQL table files Start MySQLWorkbench > Enter a connection > Click Server menu > Data Import > Select download path

of APIJSON-Master/table > Start Import > refresh SCHEMAS, and you'll see the tables were already added.

### 3.Run Server project with IntellIJ IDEA If you don't have installed it, please download and install before run. ### 4.Run Client project with ADT or Android Studio If you don't have installed any editor above, please download and install before run. ### 5.Operate Client app Select a json request to send to server and wait. It will show the result received. ## Welcome star, welcome fork [https://github.com/TommyLemon/APIJSON](https://github.com/TommyLemon/APIJSON) ## Download Client App [ZBLibraryDemoApp.apk](http://files.cnblogs.com/files/tommylemon/ZBLibraryDemoApp.apk) # APIJSON, let interfaces go to hell !