`

json解析(一)

 
阅读更多
客户端和服务器端的交互统一采用http get方式,如果有接口要采用 http post方式可以提出来。下面是以获取首页信息为例简单的阐述一下协议,
http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do为统一请求的URL地址,m=xxxx为你请求的服务,如果需要传递参数在后面添加,例如:
http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=get_magazine_detail&issue=316
获取杂志目录信息为例组装的url,m=get_magazine_detail表示请求获取杂志信息服务,issue=316表示要获取的第几期杂志的信息。



获取首页:
    CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=get_total_issue HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 \r\n
		Connection: Keep-Alive\r\n

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":   
        {
            "data":
            [
                {
                		"issue_title":"美女杂志1",
                		
                		"img":
	                	{
	                				"name":"218_issue.png",
	                				"url":"http://10.0.2.2:8080/HttpsServer/one.jpg"
	                	},
                    "issue_number":"2012第3期",
                    "issue_id":"218",
                    "type":"h3c",
                    "pubdate":"2012年3月14日"
                },
                {
                		"issue_title":"美女杂志2",           		
                		"img":                		
	                	{
	                				"name":"218_issue.png",
	                				"url":"http://10.0.2.2:8080/HttpsServer/two.jpg"
	                	},
                    "issue_number":"2012第3期",
                    "issue_id":"218",
                    "type":"h3c",
                    "pubdate":"2012年3月14日"
                },
                {
                		"issue_title":"美女杂志3",           		
                		"img":                		
	                	{
	                				"name":"218_issue.png",
	                				"url":"http://10.0.2.2:8080/HttpsServer/three.jpg"
	                	},
                    "issue_number":"2012第3期",
                    "issue_id":"218",
                    "type":"h3c",
                    "pubdate":"2012年3月14日"
                },
                {
                		"issue_title":"美女杂志4",           		
                		"img":                		
	                	{
	                				"name":"218_issue.png",
	                				"url":"http://10.0.2.2:8080/HttpsServer/four.jpg"
	                	},
                    "issue_number":"2012第3期",
                    "issue_id":"218",
                    "type":"h3c",
                    "pubdate":"2012年3月14日"
                },                
                {
                		"issue_title":"美女杂志5",
                		"img":
	                		{
	                				"name":"218_issue.png",
	                				"url":"http://10.0.2.2:8080/HttpsServer/five.jpg"
	                		},
                    "issue_number":"2012第3期",
                    "issue_id":"218",
                    "type":"h3c",
                    "pubdate":"2012年3月14日"
                }
            ]
        }
    }


获取往期杂志页:
    CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=get_magazine_old_datail HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 \r\n
		Connection: Keep-Alive\r\n

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {
            "data":
            [
                {
                  "issue_year":"2011年度财经杂志",
                    "type":"h3c",

		    						"magazine_old_list":
									   [
												{
														"issue_id":"218",
														"issue_number":"2012第3期",
                    				"issue_title":"铁路投融变道",
														"pubdate":"2012年3月14日"
												},
												{
														"issue_id":"218",
														"issue_number":"2012第3期",
														"issue_title":"铁路投融变道",
														"pubdate":"2012年3月14日"
												}
									   ]
                }
            ]
        }
    }

获取杂志目录页面:
    CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=get_magazine_datail&issue_id=218 HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 \r\n
		Connection: Keep-Alive\r\n

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {
						"issue_title":"致命的集资",
						"issue_number":"2012第3期",
						"issue_id":"218",
						"type":"h3c",
						"pubdate":"2012年3月14日",
						
						"img":
						[
								{
										"img_name":"218_issue.png",
										"img_url":"http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/218_issue.png",
								},
						]
						
						"magazine_list":
						[
							{
									"article_type":"封面文章CoverStory"
				
									"magazine_data":
									[
											{
													"article_id":"322"
													"article_name":"回归可持续性",
													"article_author":"迈克尔*斯宾赛/文"
											},
											{
													"article_id":"322"
													"article_name":"回归可持续性",
													"article_author":"迈克尔*斯宾赛/文"
											}
									]
							},
							{
									"article_type":"<财经>动态CaijingTopics"
				
									"magazine_data":
									[
											{
													"article_id":"322"
													"article_name":"回归可持续性",
													"article_author":"迈克尔*斯宾赛/文"
											},
											{
													"article_id":"322"
													"article_name":"回归可持续性",
													"article_author":"迈克尔*斯宾赛/文"
											}
									]
							}
						]
        }
    }
    
获取调查页:
    CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=get_survey HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 \r\n
		Connection: Keep-Alive\r\n

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {
		        data:
		        [
				        {
					         	"survey_title":"你怎么看雷锋精神?",
					         	"survey_date":"2012年03月05日14:18",
					         	"survey_people_number":"当前共有701人参加"
					         	"survey_content":"调查问题的内容"
					          "type":"h3c",  
					           
										"survey_result":
									   [
												{
														"result_id":"123" ,
														"result_name":"赞同",
														"result_number":"282支持"
												},
												{
														"result_id":"123" ,
														"result_name":"不赞同",
														"result_number":"395支持"
												},
												{
														"result_id":"123" ,
														"result_name":"说不清",
														"result_number":"75支持"
												}
									   ]
				        },
				        {
					         	"survey_title":"你怎么看雷锋精神?",
					         	"survey_date":"2012年03月05日14:18",
					         	"survey_people_number":"当前共有701人参加"
					         	"survey_content":"调查问题的内容"
					          "type":"h3c",  
					           
										"survey_result":
									   [
												{
														"result_id":"123" ,
														"result_name":"赞同",
														"result_number":"282支持"
												},
												{
														"result_id":"123" ,
														"result_name":"不赞同",
														"result_number":"395支持"
												},
												{
														"result_id":"123" ,
														"result_name":"说不清",
														"result_number":"75支持"
												}
									   ]
				        }
		        ]
		    }
    }

判断是否有新杂志:
    CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=is_new_magazine HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 \r\n
		Connection: Keep-Alive\r\n

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {
						"isUpdates":"0" // 0:表示没有新杂志,1:表示有新杂志更新
        }
    }
    
获取文章主体内容:
 CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=request_article_data&issure_id=320&article_id=20 HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91)     AppleWebKit/533.1 \r\n
    Connection: Keep-Alive\r\n
    

    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {         
	          "brief":"摘要内容",
	          "content":"文章内容",
            "imageurl":
            [              
                  {
                   "name":"致命的集资1.png",                                                                    
                   "url":"http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/218_issue1.png"                        
                  },
                  {
                   "name":"致命的集资2.png",                                                                    
                   "url":"http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/218_issue2.png"
                   }
            ]
        }
    }


上传文章评分内容:
 CLIENT -> SERVER
    ----------------------------------------------------------------
    GET  GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=upload_article_grade&issure_id=320&article_id=20&grade=4 HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91)     AppleWebKit/533.1 \r\n
    Connection: Keep-Alive\r\n
    
    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {         
	          "response":"Thanks",
            
        }
    }



获取文章评论内容:
 CLIENT -> SERVER
    ----------------------------------------------------------------
    GET http://xxx.xxx.xxx.xxx:xxxx/mobile_mag/api.do?m=request_article_criticism&issure_id=320&article_id=20 HTTP/1.0\r\n
    Host: xxx.xxx.xxx.xxx\r\n
    User-Agent: Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91)     AppleWebKit/533.1 \r\n
    Connection: Keep-Alive\r\n
    
    SERVER -> CLIENT
    ----------------------------------------------------------------
    HTTP/1.0 200 OK\r\n
    Server: VanceInfoMobile_mag/1.0.00\r\n
    Connection: Keep-Alive\r\n
    Content-Type: application/json\r\n
    \r\n
    {
        "protocol":"Mobile_mag/1.0",
        "status":"200", 
        "results":
        {         
            "data":
            [       
		           {
                   "nickname":"李四",                                                       
                   "create_time":"2012-03-15 13:00:00",                    
		               "content":"很好,很强大"
                },  
                {
                   "nickname":"张三",                                                        
                   "create_time":"2012-03-15 12:00:00",                    
		               "content":"这是什么破文章啊"
                }                
            ]
        }
    }
分享到:
评论

相关推荐

    PB Json解析库

    PB Json解析库是一种用于处理协议缓冲区(Protocol Buffers,简称PB)与JSON之间相互转换的工具。在软件开发中,尤其是涉及到数据交换时,PB和JSON都扮演着重要的角色。PB是Google推出的一种高效的数据序列化协议,...

    自己实现一个简单的JSON解析器

    本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感兴趣的话,在看完本DEMO后,不妨自己动手实现一个 JSON 解析器。

    json离线解析工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。...对于经常与JSON数据打交道的IT专业人士而言,一款高效、稳定的离线JSON解析工具是必不可少的开发辅助工具。

    Android 安卓 json解析

    虽然题目要求不使用第三方库,但值得一提的是,Google提供的Gson库是JSON解析的强大工具,它可以将Java对象转换为JSON字符串,反之亦然。如果允许,推荐使用Gson,它简化了大量解析工作。 总结,Android中的JSON...

    JSON 解析 示例代码

    总的来说,理解和掌握JSON解析是现代Web开发的基本技能之一。无论你是前端开发者还是后端开发者,都需要能够有效地读取、解析和生成JSON数据。通过学习和实践,你可以熟练地利用JSON这一强大的工具进行数据交换和...

    易语言Json解析模块

    易语言、易Json解析模块、水淼Json 易语言水淼JSON解析模块源码自主解析JSON数据类型,使用树来直观清晰显示出所有结构,辅助程序员快速定位JSON节点提高开发效率。

    PB解析json,解析JSON案例,解析jsondemo

    7. **错误处理和调试**:在调用API和处理JSON过程中,PB开发者需要考虑错误处理,包括网络错误、JSON解析错误等,同时利用PB的调试工具进行问题排查。 通过这些知识点,PB开发者能够构建起与JSON数据源的有效交互,...

    鬼脸JSON解析小工具forMac

    "鬼脸JSON解析小工具forMac"正是这样一款专为MAC用户设计的实用工具,它的特点在于其独特的鬼脸logo,使得软件在众多工具中具有较高的辨识度。 该工具的主要功能包括: 1. **实时解析**:用户可以直接将包含JSON...

    JSON解析工具.exe

    适用于json解析,美观直观的观看数据

    Unity能够在WebGL包使用的json解析.dll

    JSON解析.dll是Unity中用于处理JSON数据的库,它允许开发者将JSON字符串转化为C#对象或者将C#对象转化为JSON字符串。 在Unity与WebGL的结合使用中,由于WebGL的目标是浏览器环境,因此存在一些特定的限制。例如,...

    易语言页面订单json解析

    3. **JSON解析**:易语言提供了JSON解析的库或模块,允许我们解析JSON字符串为易语言的数据结构,如数组或字典。解析过程中,我们需要识别并提取出订单的关键信息,如订单ID、客户信息、商品详情等。 4. **将订单...

    C#对多级json解析

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的数据传输。在C#编程环境中,处理JSON数据是常见的任务,尤其是在需要解析多级嵌套结构时。本篇文章将...

    json-c 一个用于c语言的json解析库,很强大

    `json-c`就是这样一个专门用于C语言的JSON解析库,它提供了对JSON数据的读取、创建、修改和序列化等功能,使得C程序员可以方便地与JSON格式进行交互。 `json-c`库的核心特性包括: 1. **解析和生成JSON**:`json-c...

    Json解析Gson解析

    一、JSON解析基础 JSON是一种独立于语言的数据表示格式,其结构清晰,易于人阅读和编写,同时也容易让机器解析和生成。JSON主要由键值对(key-value pairs)组成,键用引号包围,值可以是字符串、数字、布尔值、...

    c#利用Newtonsoft.Json解析json(带数组)

    在.NET开发环境中,C#语言提供了...对于新手来说,多做实践,尝试解析不同结构的JSON,是掌握这一技能的关键。而对于经验丰富的开发者,理解如何在复杂的数据结构中运用这个库,可以进一步提升代码的灵活性和可维护性。

    JSON解析最新版20151017超简JSON效验解析器

    不过,需要注意的是,由于这是2015年的版本,可能不包含最新的JSON解析技术和安全更新,对于最新的JSON规范支持可能存在局限,而且在当前的软件环境下运行可能不稳定或者存在兼容性问题。建议使用最新版本的JSON解析...

    易语言json解析模块源码【2.0】

    易语言JSON解析模块2.0源码例程程序结合易语言扩展界面支持库和应用接口支持库,调用API函数实现JSON解析、生成、编辑。点评:易语言JSON解析模块2.0源码通过封装JSON类形成稳定强大的json处理核心。资源作者:。...

    kettle解析json串

    ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具,广泛用于ETL(Extract-Transform-Load)任务。 - Kettle支持多种数据源,包括关系型...

    JSON解析demo.zip

    本示例"JSON解析demo.zip"提供的可能是一个使用自定义封装类快速解析JSON数据的实例,这对于简化代码和提高效率非常有用。 首先,我们来了解`org.json`库中的主要类: 1. **JSONObject**:代表一个JSON对象,它由...

    C语言精简JSON解析程序,可用于单片机等资源稀缺硬件

    本项目提供的是一款针对C语言的精简JSON解析程序,专为资源有限的硬件环境如单片机设计。 1. **C语言基础** C语言是底层编程的常用工具,具有高效、灵活和资源管理精细等特点,适合于开发对内存和计算能力要求严格...

Global site tag (gtag.js) - Google Analytics