亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
android Manifest Manifest.permission Manifest.permission_group android.accessibilityservice AccessibilityService android.accounts Account android.app NotificationManager android.bluetooth BluetoothAdapter BluetoothClass BluetoothClass.Device BluetoothClass.Device.Major BluetoothClass.Service BluetoothDevice BluetoothServerSocket BluetoothSocket android.content SharedPreferences android.database.sqlite SQLiteCursorDriver SQLiteOpenHelper android.graphics Bitmap android.location LocationListener Geocoder GpsStatus GpsStatus.Listener GpsStatus.NmeaListener GpsSatellite android.media AudioFormat AsyncPlayer AudioRecord AudioRecord.OnRecordPositionUpdateListener ThumbnailUtils AudioManager android.net TrafficStats MailTo LocalSocket android.os AsyncTask AsyncTask.Status CountDownTimer Message MessageQueue HandlerThread android.text Html android.util JsonWriter android.view ContextMenu ContextMenu.ContextMenuInfo Display ViewManager View ViewStub ViewTreeObserver ViewParent WindowManager GestureDetector Gravity MenuInflater ScaleGestureDetector SoundEffectConstants android.view.inputmethod InputConnection InputMethod InputMethodSession BaseInputConnection InputMethodManager android.widget AbsListView AbsListView.LayoutParams AbsListView.OnScrollListener AbsListView.RecyclerListener AbsoluteLayout AbsoluteLayout.LayoutParams AbsSeekBar AbsSpinner AdapterView AdapterView.AdapterContextMenuInfo AdapterView.OnItemLongClickListener AdapterView.OnItemSelectedListener AdapterView.OnItemClickListener AnalogClock BaseAdapter BaseExpandableListAdapter Button CheckBox CheckedTextView Checkable Chronometer Chronometer.OnChronometerTickListener CompoundButton CompoundButton.OnCheckedChangeListener CursorAdapter CursorTreeAdapter DatePicker DatePicker.OnDateChangedListener DialerFilter DigitalClock EditText Filter Filter.FilterListener Filter.FilterResults ExpandableListAdapter ExpandableListView.OnChildClickListener ExpandableListView.OnGroupClickListener ExpandableListView.OnGroupCollapseListener ExpandableListView.OnGroupExpandListener Filterable Gallery Gallery.LayoutParams GridView GridLayout GridLayout.Alignment RadioGroup ImageView ImageView.ScaleType HorizontalScrollView ImageButton ImageSwitcher FilterQueryProvider ListAdapter ListView MediaController MultiAutoCompleteTextView MultiAutoCompleteTextView.CommaTokenizer MultiAutoCompleteTextView.Tokenizer QuickContactBadge RadioButton RatingBar RatingBar.OnRatingBarChangeListener RelativeLayout RemoteViews ResourceCursorAdapter ResourceCursorTreeAdapter Scroller ScrollView SearchView SearchView.OnCloseListener SearchView.OnQueryTextListener SearchView.OnSuggestionListener SeekBar SeekBar.OnSeekBarChangeListener SimpleAdapter SimpleAdapter.ViewBinder SimpleCursorAdapter SimpleCursorAdapter.CursorToStringConverter SimpleCursorAdapter.ViewBinder SimpleCursorTreeAdapter SimpleCursorTreeAdapter.ViewBinder SimpleExpandableListAdapter SlidingDrawer SlidingDrawer.OnDrawerCloseListener SlidingDrawer.OnDrawerOpenListener SlidingDrawer.OnDrawerScrollListener Spinner SpinnerAdapter WrapperListAdapter TabHost TabHost.TabSpec TextView TimePicker TimePicker.OnTimeChangedListener Toast TableLayout TableLayout.LayoutParams TableRow TableRow.LayoutParams TabWidget TextSwitcher ToggleButton TwoLineListItem VideoView ViewAnimator ViewFlipper ViewSwitcher ViewSwitcher.ViewFactory ZoomButtonsController ZoomButtonsController.OnZoomListener ZoomButton ZoomControls dalvik.system DexFile
文字


JsonWriter

版本:Android 4.0 r1

?

結(jié)構(gòu)

繼承關(guān)系

public final class?JSonWriter?extends?Object implements Closeable?

????????

java.lang.Object

android.util.JsonWriter

??????????????????

類概述

輸出JSONRFC4627)的流編碼值,每次一個(gè)token。這個(gè)流值包括文字內(nèi)容(字符串,數(shù)字布爾值,nulls)以及對象和數(shù)組的開始和結(jié)束符。

?

JSON編碼

???????? 將數(shù)據(jù)編碼為JSON格式,創(chuàng)建一個(gè)JsonWriter對象。每個(gè)JSON文件必須包含一個(gè)頂層的數(shù)組或者對象。嵌套數(shù)組和對象必須如下調(diào)用方法來組織內(nèi)容:

l?? 數(shù)組,首先要調(diào)用beginArray()。用適當(dāng)?shù)?/span>value()方法或嵌套其他數(shù)組和對象為每個(gè)元素賦值。最后關(guān)閉數(shù)組調(diào)用endArray()

l?? 對象,首先調(diào)用beginObject()通過交替調(diào)用name(String)方法循環(huán)寫入對象屬性值。用適當(dāng)?shù)?/span>value()方法或嵌套其他數(shù)組和對象寫入熟悉值。最后關(guān)閉對象調(diào)用endObject()。?

?

例子

編寫流信息如下:

?[

? ?{

? ? ?"id": 912345678901,

? ? ?"text": "How do I write JSON on Android?",

? ? ?"geo": null,

? ? ?"user": {

? ? ? ?"name": "android_newb",

? ? ? ?"followers_count": 41

? ? ?

? ?},

? ?{

? ? ?"id": 912345678902,

? ? ?"text": "@android_newb just use android.util.JsonWriter!",

? ? ?"geo": [50.454722, -104.606667],

? ? ?"user": {

? ? ? ?"name": "jesse",

? ? ? ?"followers_count": 2

? ? ?}

? ?}

?]}

如下表示以上信息結(jié)構(gòu):

? ?public void writeJsonStream(OutputStream out, List messages) throws IOException {
? ? ?
JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));
? ? ?writer
.setIndent(" ?");
? ? ?writeMessagesArray
(writer, messages);
? ? ?writer
.close();
? ?

? ?
public void writeMessagesArray(JsonWriter writer, List messages) throws IOException {
? ? ?writer
.beginArray();
? ? ?
for (Message message : messages) {
? ? ? ?writeMessage
(writer, message);
? ? ?
}
? ? ?writer
.endArray();
? ?
}

? ?
public void writeMessage(JsonWriter writer, Message message) throws IOException {
? ? ?writer
.beginObject();
? ? ?writer
.name("id").value(message.getId());
? ? ?writer
.name("text").value(message.getText());
? ? ?
if (message.getGeo() != null) {
? ? ? ?writer
.name("geo");
? ? ? ?writeDoublesArray
(writer, message.getGeo());
? ? ?
} else {
? ? ? ?writer
.name("geo").nullValue();
? ? ?
}
? ? ?writer
.name("user");
? ? ?writeUser
(writer, message.getUser());
? ? ?writer
.endObject();
? ?
}

? ?
public void writeUser(JsonWriter writer, User user) throws IOException {
? ? ?writer
.beginObject();
? ? ?writer
.name("name").value(user.getName());
? ? ?writer
.name("followers_count").value(user.getFollowersCount());
? ? ?writer
.endObject();
? ?
}

? ?
public void writeDoublesArray(JsonWriter writer, List doubles) throws IOException {
? ? ?writer
.beginArray();
? ? ?
for (Double value : doubles) {
? ? ? ?writer
.value(value);
? ? ?
}
? ? ?writer
.endArray();
? ?
}}

JsonWriter可用于來寫一個(gè)JSON流。這個(gè)類的實(shí)例不是線程安全的。調(diào)用JsonWriter產(chǎn)生一個(gè)不規(guī)則JSON字符串會拋出異常IllegalStateException。

?

構(gòu)造方法

??? public JsonWriter (Writer out)

???????? 創(chuàng)建一個(gè)新的JSON編碼流的實(shí)例。為了獲得最佳性能,需要確保Write緩沖,必要時(shí)強(qiáng)制轉(zhuǎn)換為BufferedWriter。

?

公共方法

public JsonWriter beginArray()

開始一個(gè)新的數(shù)組編碼。每次調(diào)用這個(gè)方法必須調(diào)用一個(gè)endArray()進(jìn)行配對。

???????? 返回值

?????????????????? JsonWriter對象。

???????? 異常

?????????????????? IOException

?

public JsonWriter beginObject()

開始一個(gè)新的對象編碼。每次調(diào)用這個(gè)方法必須調(diào)用一個(gè)endObject ()進(jìn)行配對。

???????? 返回值

?????????????????? JsonWriter對象。

???????? 異常

?????????????????? IOException

?

public void close()

刷新和關(guān)閉實(shí)例對象和底層Writer。

???????? 異常

?????????????????? IOException???? 如果JSON文件不完整拋出此異常。

?

public JsonWriter endArray()

??????? 結(jié)束當(dāng)前編碼數(shù)組

???????? 返回值

?????????????????? JsonWriter對象。

???????? 異常

?????????????????? IOException

?

public JsonWriter endObject()

結(jié)束當(dāng)前編碼對象

???????? 返回值

?????????????????? JsonWriter對象。

???????? 異常

?????????????????? IOException

?

public void flush()

確保所有緩存數(shù)據(jù)寫入底層Writer并刷新(flush)這個(gè)實(shí)例對象。

?

public boolean isLenient()

如果writer對象是不嚴(yán)格的語法規(guī)則返回true。

?

public JsonWriter name(String name)

編碼屬性名

???????? 參數(shù)

?????????????????? name??????? 將被賦值對象的名字,不允許使用空值。

???????? 返回值

?????????????????? JsonWriter對象。

???????? 異常

?????????????????? IOException

?

public JsonWriter nullValue()

編碼空值。

???????? 返回值

?????????????????? 對象本身。

???????? 異常

?????????????????? IOException

?

public void setIndent(String indent)

為編碼文檔每一級設(shè)置縮進(jìn)字符串。如果indent.isEmpty()返回true編碼文檔將被壓縮,否則編碼文檔將更加易讀。

???????? 參數(shù)

?????????????????? indent?????? 一個(gè)僅包含空格的字符串。

?

public void setLenient(boolean lenient)

配置writer對象使其使用不嚴(yán)格的語法規(guī)則。默認(rèn)情況下,此writer對象只能發(fā)送符合RFC 4627語法規(guī)則的JSON。設(shè)置允許writer不嚴(yán)格規(guī)則如下:

l?? 最頂層的值可以是任何類型。嚴(yán)格來說,最頂層的值必須是一個(gè)對象或者數(shù)組。

l?? 數(shù)字可以是非數(shù)值類型或無限大。

?

public JsonWriter value(double value)

編碼屬性值

參數(shù)

???????? Value ????? 一個(gè)限定的值。不能是非數(shù)值或無限大的數(shù)(NaNs),除非writer對象是不嚴(yán)格的。

返回值

???????? Writer對象

異常

???????? IOException

????????

public JsonWriter value(long value)

編碼屬性值

返回值

???????? Writer對象

異常

???????? IOException

?

public JsonWriter value(Number value)

編碼屬性值

參數(shù)

???????? Value ????? 一個(gè)限定的值。不能是非數(shù)值或無限大的數(shù)(NaNs),除非writer對象是不嚴(yán)格的。

返回值

???????? Writer對象

異常

???????? IOException

?

public JsonWriter value(boolean value)

編碼屬性值

返回值

???????? Writer對象

異常

???????? IOException

?

public JsonWriter value(String value)

編碼屬性值

參數(shù)

???????? Value ????? 一個(gè)字符串值,或者空值來編碼空字符

返回值

???????? Writer對象

異常

???????? IOException

?

補(bǔ)充

?????????文章精選

?????????????????? Android JSON寫入類 - JsonWriter

?????????????????? JDOM創(chuàng)建XML例子

?


上一篇: 下一篇: