Android学习的第六周笔记
来源:互联网 发布:网络系统安全课程 编辑:程序博客网 时间:2024/05/01 01:29
1.Json
In computing, JSON is an open-standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is the most common data format used for asynchronous browser/server communication, largely replacing XML which is used by AJAX.
JSON is a language-independent data format. It derives from JavaScript, but as of 2016 many programming languages include code to generate and parse JSON-format data. The official Internet media type for JSON is application/json. JSON filenames use the extension .json.
JSON's basic data types are:
- Number: a signed decimal number that may contain a fractional part and may use exponential E notation, but cannot include non-numbers like NaN. The format makes no distinction between integer and floating-point. JavaScript uses a double-precision floating-point format for all its numeric values, but other languages implementing JSON may encode numbers differently.
- String: a sequence of zero or more Unicode characters. Strings are delimited with double-quotation marks and support a backslash escaping syntax.
- Boolean: either of the values true or false
- Array: an ordered list of zero or more values, each of which may be of any type. Arrays use square bracket notation with elements being comma-separated.
- Object: an unordered collection of name/value pairs where the names (also called keys) are strings. Since objects are intended to represent associative arrays, it is recommended, though not required, that each key is unique within an object. Objects are delimited with curly brackets and use commas to separate each pair, while within each pair the colon ':' character separates the key or name from its value.
- null: An empty value, using the word null
Limited whitespace is allowed and ignored around or between syntactic elements (values and punctuation, but not within a string value). Only four specific characters are considered whitespace for this purpose: space, horizontal tab, line feed, and carriage return. In particular, the byte order mark must not be generated by a conforming implementation (though it may be accepted when parsing JSON). JSON does not provide any syntax for comments.
2.JSONArray
A dense indexed sequence of values. Values may be any mix of JSONObjects, other JSONArrays, Strings, Booleans, Integers, Longs, Doubles, null or NULL. Values may not be NaNs, infinities, or of any type not listed here.
JSONArray has the same type coercion behavior and optional/mandatory accessors as JSONObject. See that class' documentation for details.
Warning: this class represents null in two incompatible ways: the standard Java null reference, and the sentinel value NULL. In particular, get fails if the requested index holds the null reference, but succeeds if it holds JSONObject.NULL.
Instances of this class are not thread safe. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overridable methods is not specified. See Effective Java Item 17, "Design and Document or inheritance or else prohibit it" for further information.
3.JSONObject
A modifiable set of name/value mappings. Names are unique, non-null strings. Values may be any mix of JSONObjects, JSONArrays, Strings, Booleans, Integers, Longs, Doubles or NULL. Values may not be null, NaNs, infinities, or of any type not listed here.
This class can coerce values to another type when requested.
- When the requested type is a boolean, strings will be coerced using a case-insensitive comparison to "true" and "false".
- When the requested type is a double, other Number types will be coerced using doubleValue. Strings that can be coerced using valueOf(String) will be.
- When the requested type is an int, other Number types will be coerced using intValue. Strings that can be coerced using valueOf(String) will be, and then cast to int.
- When the requested type is a long, other Number types will be coerced using longValue. Strings that can be coerced using valueOf(String) will be, and then cast to long. This two-step conversion is lossy for very large values. For example, the string "9223372036854775806" yields the long 9223372036854775807.
- When the requested type is a String, other non-null values will be coerced using valueOf(Object). Although null cannot be coerced, the sentinel value NULL is coerced to the string "null".
- Use getType() to retrieve a mandatory value. This fails with a JSONException if the requested name has no value or if the value cannot be coerced to the requested type.
- Use optType() to retrieve an optional value. This returns a system- or user-supplied default if the requested name has no value or if the value cannot be coerced to the requested type.
Instances of this class are not thread safe. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overrideable methods is not specified. See Effective Java Item 17, "Design and Document or inheritance or else prohibit it" for further information.
3.JSONToken
Parses a JSON (RFC 4627) encoded string into the corresponding object. Most clients of this class will use only need the constructor and nextValue() method. Example usage:
String json = "{" + " \"query\": \"Pizza\", " + " \"locations\": [ 94043, 90210 ] " + "}"; JSONObject object = (JSONObject) new JSONTokener(json).nextValue(); String query = object.getString("query"); JSONArray locations = object.getJSONArray("locations");
For best interoperability and performance use JSON that complies with RFC 4627, such as that generated by JSONStringer. For legacy reasons this parser is lenient, so a successful parse does not indicate that the input string was valid JSON. All of the following syntax errors will be ignored:
- End of line comments starting with // or # and ending with a newline character.
- C-style comments starting with /* and ending with */. Such comments may not be nested.
- Strings that are unquoted or 'single quoted'.
- Hexadecimal integers prefixed with 0x or 0X.
- Octal integers prefixed with 0.
- Array elements separated by ;.
- Unnecessary array separators. These are interpreted as if null was the omitted value.
- Key-value pairs separated by = or =>.
- Key-value pairs separated by ;.
- Each tokener may be used to parse a single JSON string. Instances of this class are not thread safe. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overrideable methods is not specified. See Effective Java Item 17, "Design and Document or inheritance or else prohibit it" for further information.
- Android学习的第六周笔记
- 第六周Android学习笔记
- Android学习笔记第六章
- 第六周学习笔记
- 【Android开发学习笔记】【第六课】Activity的生命周期-下
- C++第六周学习笔记
- 第六周Android实习笔记
- 第六周的学习
- 学习HTML+CSS的第六课笔记!
- [Boolan] C++第六周学习笔记
- 2017大二第六周学习笔记
- 学习笔记 第六章
- 第六天学习笔记
- 第六章 学习笔记
- 第六天学习笔记
- 学习笔记第六天
- Android学习第六篇;Jackson的使用
- Android网络与数据存储_学习笔记_第六周:SQLite与ContentProvider
- Fiddler 4 安卓APP抓包教程
- VLC命令参数
- 继承与派生(C++)
- java基础知识
- c语言选择排序
- Android学习的第六周笔记
- 网狐6603 麻将、房卡类子游戏《牛牛》(手机端+服务器+数据库)全套完整源码
- ubuntu鼠标灵敏度设置
- 网狐6603 麻将、房卡类子游戏 (手机端+服务器+数据库)全套完整源码 定制开发
- 357. Count Numbers with Unique Digits
- 进程的几种操作c++版
- 卷积神经网路(CNN)
- nutch在windows下的配置
- 【DP】动态规划分类以及相关题目