json boolean android,如何解析Android中的JSON?
DOM元素是一个对象,一个在内存中的东西。与OOP中的大多数对象一样,它具有属性。它还单独包含元素上定义的属性的映射(通常来自浏览器读取以创建元素的标记)。有些元素的属性得到他们最初从值属性具有相同或相似名称(value从“值”属性获取其初始值; href从“href”属性获取其初始值,但它不是完全一样的值; className从“阶级”属性)。其他属性以其他方式获取其初始值:例如,parentNode属性根据其父元素获取其值;style 属性,是否具有“样式”属性。
让我们在页面中考虑这个锚http://example.com/testing.html:
Hi
一些无偿的ASCII艺术(并遗漏了很多东西):
+ ------------------------------------------- +
| HTMLAnchorElement |
+ ------------------------------------------- +
| href:“http://example.com/foo.html”|
| 名称:“fooAnchor”|
| id:“fooAnchor”|
| className:“test one”|
| 属性:|
| href:“foo.html”|
| 名称:“fooAnchor”|
| id:“fooAnchor”|
| 类:“测试一个”|
+ ------------------------------------------- +
请注意,属性和属性是不同的。
现在,虽然它们是截然不同的,因为所有这些都是从头开始设计的,而不是从头开始设计,如果你设置它们,许多属性会回写它们派生的属性。但并非所有人都这样做,而且从href上面可以看出,映射并不总是直接“传递价值”,有时会涉及到解释。
当我谈到属性是对象的属性时,我不是在抽象地说。这是一些非jQuery代码:
var link = document.getElementById('fooAnchor');
alert(link.href); // alerts "http://example.com/foo.html"
alert(link.getAttribute("href")); // alerts "foo.html"
(这些值与大多数浏览器一样;有一些变化。)
该link物体是一个真实的东西,你可以看到有访问之间的真正的区别属性就可以了,和访问的属性。编写JSON解析器类
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
}
解析JSON数据一旦你创建了解析器类,下一步就是知道如何使用该类。下面我将解释如何使用解析器类解析json(在此示例中使用)。
2.1。将所有这些节点名称存储在变量中:在联系人json中,我们有名称,电子邮件,地址,性别和电话号码等项目。首先,将所有这些节点名称存储在变量中。打开主活动类并声明将所有节点名称存储在静态变量中。
// url to make request
private static String url = "http://api.9android.net/contacts";
// JSON Node names
private static final String TAG_CONTACTS = "contacts";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_ADDRESS = "address";
private static final String TAG_GENDER = "gender";
private static final String TAG_PHONE = "phone";
private static final String TAG_PHONE_MOBILE = "mobile";
private static final String TAG_PHONE_HOME = "home";
private static final String TAG_PHONE_OFFICE = "office";
// contacts JSONArray
JSONArray contacts = null;
2.2。使用解析器类获取JSONObject并循环遍历每个json项。下面我创建一个JSONParser类的实例并使用for循环我循环遍历每个json项目,最后将每个json数据存储在变量中。
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
contacts = json.getJSONArray(TAG_CONTACTS);
// looping through All Contacts
for(int i = 0; i < contacts.length(); i++){
JSONObject c = contacts.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String email = c.getString(TAG_EMAIL);
String address = c.getString(TAG_ADDRESS);
String gender = c.getString(TAG_GENDER);
// Phone number is agin JSON Object
JSONObject phone = c.getJSONObject(TAG_PHONE);
String mobile = phone.getString(TAG_PHONE_MOBILE);
String home = phone.getString(TAG_PHONE_HOME);
String office = phone.getString(TAG_PHONE_OFFICE);
}
} catch (JSONException e) {
e.printStackTrace();
}
json boolean android,如何解析Android中的JSON?相关推荐
- jsp java json解析,jsp中获取json字符串,并解析
JqueryDemo1 function showData() { var str='{ "name": "John" }';//json标准格式 var ob ...
- js判断json有没有某值_JS中判断JSON数据是否存在某字段的方法 JavaScript中判断json中是否有某个字段...
方式一 !("key" in obj) 方式二 obj.hasOwnProperty("key") //obj为json对象. 实例: var jsonwor ...
- python中json模块博客园_Python中的Json模块详解
Python中的Json模块详解 Json(JavaScript Object Notation)它是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点.许多主流的编程语言都在用它来进 ...
- java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧
java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...
- json mysql 字段 默认值_MySQL中的JSON类型
前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...
- mysql+json+检索_如何从mysql中检索JSON数据?
我有以下表格和他们的关系.我将json数据存储在client_services表中.他们是否可以使用mysql查询检索JSON值.喜欢: select getJson("quota" ...
- Android Studio安卓开发中使用json来作为网络数据传输格式
如果你是在安卓开发中并且使用android studio,要使用json来作为数据传输的格式,那么下面是我的一些经验. 一开始我在android studio中导入那6个包,那6个包找了非常久,因为放 ...
- Android之解析Android Map地图返回的Json数据
先上一下需要解析的Json数据: { "results" : [ { "address_components" : [ ...
- android bean类型,Android Gson解析数组中多种类型
最近空闲时间在一款仿某条的app,一开始,采用的是api store中的数据源,但是这样,好多功能因为不能得到接口支持不能实现,因此只能......通过fiddler抓 某条 的接口了.. 在抓一个接 ...
最新文章
- pdf批量添加图章_关于添加图章,过来人有哪些实用经验
- 网络摄像机如何与路由器连接方法
- 设备驱动程序INF文件
- Face-landmarks-detection-benchmark 人脸特征定位网站汇总
- mysql数据库支持emoji表情的详解
- 电脑开机卡住了怎么办_苹果电脑忘记开机密码怎么办?一段代码轻松解决
- java知识总结-13
- Lock and Load FCPX 报错处理方法
- SpringBoot+Vue项目个性化音乐推荐系统
- 关于数据库学习的一些知识盲区
- VOC数据集解析 VOC2007解析
- 卸载WPS后office文档图标不能正常显示和WPS网盘图标无法删除
- ERROR: Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately
- ABAP OLE下载到EXCEL
- JAVA删除pdf空白页_如何从iText中的PDF中删除空白页面
- MATLAB数字图像处理系统——边缘检测
- 晶联讯LCD(JLX128128G-610-PC)使用教程
- 万字长文保姆级教你制作自己的多功能QQ机器人
- vue 下载文件流和捕获后端返回的状态码和错误信息的方法
- 通达OA审批流程添加水印功能,支持预览、办理和打印
热门文章
- 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值
- pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容
- Plotly绘制时间序列图实战:简单时序图、时间范围限制的时序图
- R创建透视表(Pivot Tables)
- 假设你有一个多层感知机网络(MLP),输入层有10个节点、一个单隐层共50个神经元,最后是一个3个神经元的输出层。请问网络的结构是什么样子的使用数学形式进行描述?
- SQL语法中drop,delete与truncate的区别
- CRISP-DM (cross-industry standard process for data mining)跨行业数据挖掘过程标准
- java测试时间的类,java 测试五种单例模式需要的时间
- oracle@命令_Oracle 常用运维命令整理
- Java中的OutOfMemoryError的各种情况及解决方法