菜单

服务器返回的json;DrawerLayout;setContentView

2018年11月15日 - Ajax

1、什么是JSON?

1.剖析服务器返回的json

分析譬如{"status":"-100003","msg":"用户名不存在!","data":""}这般的json,最好叫服务器返回{"status":"-100003","msg":"用户名不存在!","data":"{}"},重点是data字段的始末,要产生{},不然gson会认为data的字段是字符串,而休是若指定的门类,徒添麻烦。

JSON(JavaScript Object Notation, JS 对象标记)
是平种轻量级的数据交换格式。它根据 ECMAScript
规范之一个子集,采用了独立为编程语言的文本格式来存储和象征数据。简洁与鲜明的层次结构使得
JSON 成为可以之数据交换语言。
易于人口看与编,同时为容易机器解析和扭转,并中地升级网络传输效率。这是百度百科给出之JSON的概念。

2.DrawerLayout抽屉显示全屏

DrawerLayout的源码里写死了private static final int MIN_DRAWER_MARGIN = 64; // dp,在布局文件里,Navigator部分里之性layout_marginLeft/Right设置为-64dp,另需安装android:fitsSystemWindows="true",以及安装layout_width为match_parent。

自家懂的JSON是JS创建对象的相同种艺术,后来自JS中独出来,作为同种植字符串数据的意味拟,被各种语言支持;相对于XML而言,比XML更加轻量级、简洁、处理速度更快;

2.1 抽屉使用NavigationView

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:layout_marginRight="-64dp"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer"/>

2、JSON的点滴种格式:

2.2 抽屉使用<fragment>

以fragment的话会稍微麻烦一点,除了NavigationView需要做的外围,还待目标fragment加载的布局文件的根view添加

android:layout_marginLeft=-64dp
android:fitsSystemWindows="true"
android:layout_width="match_parent"

不然不会见于作用。

JSON对象字符串格式:'{“key1″:”value1″,”key2″:”value2”}’

2.3 抽屉使用<include>

采用<include>作为Drawer的讲话和用NavigationView是一律同样的。

JSON数组字符串格式:'[value1,value2,value3,…]’

3.永不还setContentView

比如Activity的setContentView和DataBinding的DataBindingUtil.setContentView,不要再次调用一个xml文件。

3、JSON 与 JS 对象的干:

JSON 是 JS 对象的字符串表示法,它用文本表示一个 JS
对象的音讯,本质是一个字符串。

var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

4、JSON 和 JS 对象互转

浏览器提供的不二法门:

如促成由JS对象转换为 JSON 字符串,使用 JSON.stringify() 方法:

var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'

而贯彻由 JSON 转换为JS对象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐使用JSON官方的章程,引入json.js

jquery提供的方 :

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 

Javascript提供的法:

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 

注:ie8(兼容模式),ie7和ie6也可行使eval()将字符串转为JSON对象,但无推荐这些点子,这种艺术不安全eval会执行json串中的表达式。

以上就首Ajax
接收服务器返回的json响应措施就是小编分享给大家的全部内容了,希望能够叫大家一个参照,也要大家多多支持脚本的家。

你可能感兴趣之稿子:

相关文章

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图