当前位置: 首页 > news >正文

网站建设验收表百度搜索引擎介绍

网站建设验收表,百度搜索引擎介绍,wordpress隐藏音乐,公司做网站的发票能抵扣吗毋庸置疑,Json是当下最主流最受欢迎的数据交换格式,得益于json的简单易用,一直没有系统的学习有关json的知识,总是一知半解,所以想整理一下json相关的学习内容。文档中指出,json是一种轻量级的具有良好的可…
毋庸置疑,Json是当下最主流最受欢迎的数据交换格式,得益于json的简单易用,一直没有系统的学习有关json的知识,总是一知半解,所以想整理一下json相关的学习内容。文档中指出,json是一种轻量级的具有良好的可读性和便于快速编写的的交换格式,获得当今大多数语言的支持,可在不同平台上进行数据交换,比较理想,正因为其种种优良特性使得其很快取代了xml。

所有的json相关资料习惯性的都会列出json和xml的对比,那好我也copy过来

优点:

比xml格式简单;
json是更好的数据交换格式;xml是更好的文档交换格式;
json更易于机器阅读,使用简单的客户端库或者自身支持(javascript);
json可被浏览器客户端支持;
可支持各种通用的数据结构,记录、列表、树;
21种语言支持可解析和生成json格式
缺点:

没有xml中类似CDATA的特性,不适合传递声音和图片等二进制数据;
json不具备显示能力,和xml相比;
json不可扩展,和xml相比。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

前段时间看阮一峰的博客,一篇写到有关数据类型和json的内容,觉得说的非常好,把一些概念性的东西通俗易懂的讲了出来,很容易理解,内容如下:

从结构上看,所有的数据最终都可以分解成三种类型:

第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。

第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"。

第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比 如"首都:北京"。

数据构成的最小单位原来如此简单!难怪在编程语言中,只要有了数组(array)和对象(object)就能够储存一切数据了。

Json的规格非常简单,只用一个页面几百个字就能说清楚,而且这个规格永远不必升级,因为该规定的都规定了。

1) 并列的数据之间用逗号(",")分隔。

2) 映射用冒号(":")表示。

3) 并列数据的集合(数组)用方括号("[]")表示。

4) 映射的集合(对象)用大括号("{}")表示。

上面四条规则,就是Json格式的所有内容。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

看过一些介绍android json参考资料后,打算自己动手尝试去写写解析json的例子,在代码中遇到的问题才会印象更深刻,将两个demo集合在一起,两个解析的方式都是相同的,只是构建json的时候不同而已:一种是在tomcat上放置一个jsp文件,里面用json的格式描述的一些列字符串,然后去解析还原出来;另一种是在代码中构建json格式之后再进行解析,下面PO的是主要一些代码:

放在tomcat上的jsp文件json.jsp,按照json的格式描述的一段字符串:

<%@ page contentType="text/html;charset=GBK"%>
{"Race" : "侏儒", "Name" : "辛德瑞拉嘟嘟", "Profession" : "法师","Server" :{"Server_region":"二区","Server_name":"阿古斯"}, "Talent" : ["奥术","火焰"], "Achievement_Point" : 12090, "P_Skill" : ["工程学","附魔"], "L_Skill" : ["急救","烹饪","考古学","钓鱼"],"Profession" : "法师" }


自己封装一个用于解析的HttpUtil:

package com.eyu.json;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;public class HttpUtil {public static HttpClient httpClient = new DefaultHttpClient();public static String getRequest(String url) throws ParseException, IOException{//创建httpGet对象HttpGet httpGet = new HttpGet(url);//发送Get请求HttpResponse httpResponse = httpClient.execute(httpGet);//如果服务器成功的返回响应if(httpResponse.getStatusLine().getStatusCode()==200){//获取服务器响应字符串String result = EntityUtils.toString(httpResponse.getEntity());return result;}return null;}public static String postRequest(String url,Map<String,String> rawParams) throws ClientProtocolException, IOException{//创建httpPost对象HttpPost httpPost = new HttpPost(url);//如果传递参数比较多,可以对传递的参数进行封装List<NameValuePair> params = new ArrayList<NameValuePair>();for(String key : rawParams.keySet()){//封装请求参数params.add(new BasicNameValuePair(key, rawParams.get(key)));}//发送post请求HttpResponse httpResponse = httpClient.execute(httpPost);//如果服务器成功的返回响应if(httpResponse.getStatusLine().getStatusCode()==200){//获取服务器响应字符串String result = EntityUtils.toString(httpResponse.getEntity());return result;}return null;}
}


之后便可以在activity中进行解析的操作了:

...............
String result = null;try {result = HttpUtil.getRequest("http://10.0.2.2:8080/jsontest/json.jsp");Log.i("PDA", "result-------->" + result);} catch (Exception e) {e.printStackTrace();}JSONObject jsonObject = new JSONObject(result);txt_Name = (TextView) findViewById(R.id.txt_Name);txt_Name.setText(jsonObject.getString("Name"));txt_Race = (TextView) findViewById(R.id.txt_Race);txt_Race.setText(jsonObject.getString("Race"));txt_Profession = (TextView) findViewById(R.id.txt_Profession);txt_Profession.setText(jsonObject.getString("Profession"));txt_ServerMsg = (TextView) findViewById(R.id.txt_ServerMsg);txt_ServerMsg.setText(jsonObject.getJSONObject("Server").getString("Server_region")+","+jsonObject.getJSONObject("Server").getString("Server_name"));txt_Talent = (TextView) findViewById(R.id.txt_Talent);txt_Talent.setText(jsonObject.getJSONArray("Talent").getString(0)+","+jsonObject.getJSONArray("Talent").getString(1));
............................


---------------------------------------------------------------------------------------------------------------------------------------------------------------------

另外一种是直接构建json对象:

//创建一个json对象jsonObject = new JSONObject();//字符串值放入jsonObject中jsonObject.put("Name", "辛德瑞拉点点");jsonObject.put("Race", "人类");jsonObject.put("Profession", "死亡骑士");//服务器的信息的值是对象,故创建一个对象,然后添加到jsonObject对象中JSONObject serverMsg = new JSONObject();serverMsg.put("Server_region", "二区");serverMsg.put("Server_name", "阿古斯");jsonObject.put("Server", serverMsg);//天赋信息的值是数组,故创建一个数组,然后添加到jsonObject对象中JSONArray talent = new JSONArray();talent.put("鲜血").put("冰霜");jsonObject.put("Talent", talent);//整数值放入jsonObject中jsonObject.put("Achievement_Point", 12090);
...............................

之后的解析方式是一样的。

以下是解析之后的效果图:

虽然现在不常会用到Json解析,但这种数据交换方式一定要掌握才好~!


http://www.lbrq.cn/news/2430235.html

相关文章:

  • 北碚网站建设上海网络推广服务公司
  • c2b网站开发外贸公司一般怎么找客户
  • 阳江企业网站排名优化大连seo顾问
  • 做b2b比较好的网站有哪些网站流量分析工具
  • 怎么做和京东一样网站域名注册查询官网
  • 可以做游戏的网站有哪些seo深度优化公司
  • 网站建设 工具百度seo搜索引擎优化方案
  • b2b有哪些电商平台网站营销策划方案范文
  • 返利网站建设怎么宣传自己的产品
  • 做电子商务网站实验总结如何推广一个品牌
  • 网站服务器内部错误是怎么回事山东济南seo整站优化公司
  • 国家高新技术企业查询系统广州谷歌优化
  • 做微信推送封面的网站百度网站收录入口
  • 广州网站制作公司联系方式市场调研报告怎么做
  • 网络推广具体方式有哪些平台优化是指什么
  • 昆明网站建设方案报价产品营销
  • 网站建设需要多少时间百度运营推广
  • 用手机做自己的网站郑州网站关键词优化公司
  • 本地计算机做网站服务器同城推广引流平台
  • 学校网站建设协议模板百度免费优化
  • 设计师可以做兼职的网站百度投诉中心入口
  • 给女朋友做网站的素材北仑seo排名优化技术
  • 营销网站的方法网络营销推广的要点
  • 那些卖外挂的怎么做的网站seo按照搜索引擎的什么对网站
  • 太原网站建设vhuashi如何推广公司
  • wordpress建站注册新用户如何做好市场推广
  • 投票链接制作福州seo外包公司
  • 重庆大渡口网站建设免费注册网页网址
  • 做网站的如何找业务网络营销员岗位的职责与要求
  • 建立主题网站的顺序制作网站的app
  • 遇到JAVA问题
  • 服务器系统时间不准确怎么办?
  • 人工智能之数学基础:随机实验、样本空间、随机事件
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十五课——正弦波图像的FPGA实现
  • Python类中方法种类与修饰符详解:从基础到实战
  • Ubuntu20.04 samba配置