
[]包括的内容是JSONArray,{}包括的内容是JSONObject。
JSON解析,将结果转换成Json对象
JSONObject obj = new JSONObject(数据字符串)。
JSONArrayarr = objobjgetJSONArray(name),name是数据“”里的名字,同理JSONArray里包含的JSONObject 使用getJSONObject得到。
然后要得到的具体数据就在JSONObject 、JSONArray里了,使用它们的方法get(name)得到具体值。(指类型String等)
如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-223-jdk15jar
Java样例程序如下:
import netsfjsonJSONArray;import netsfjsonJSONObject;
public class DoJSON {
public static void main(String[] args) {
JSONArray employees = new JSONArray(); //JSON数组
JSONObject employee = new JSONObject(); //JSON对象
employeeput("firstName", "Bill"); //按“键-值”对形式存储数据到JSON对象中
employeeput("lastName", "Gates");
employeesadd(employee); //将JSON对象加入到JSON数组中
employeeput("firstName", "George");
employeeput("lastName", "Bush");
employeesadd(employee);
employeeput("firstName", "Thomas");
employeeput("lastName", "Carter");
employeesadd(employee);
Systemoutprintln(employeestoString());
for(int i=0; i<employeessize(); i++) {
JSONObject emp = employeesgetJSONObject(i);
Systemoutprintln(emptoString());
Systemoutprintln("FirstName :\t" + empget("firstName"));
Systemoutprintln("LastName : \t" + empget("lastName"));
}
}
}
运行效果:
[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
{"firstName":"Bill","lastName":"Gates"}
FirstName : Bill
LastName : Gates
{"firstName":"George","lastName":"Bush"}
FirstName : George
LastName : Bush
{"firstName":"Thomas","lastName":"Carter"}
FirstName : Thomas
LastName : Carter
直接输出就可以了 String jsondata = "{'a':" + a + ",'b':" + b + ",'c':" + c + "}"; 如果abc是字符串就加上单引号,如 String jsondata = "{'a':'" + a + "','b':'" + b + "','c':'" + c + "'}"; 如果abc是数组 String jsondata = "{'a':[" + a[0] + "," + a[1] + "," + a[2] + "],'b':}"; 如果abc是对象就相对复杂一点 String jsondata = "{'a':{'a_paramStr':'" + aparamStr + "','a_pramaInt'}:apramaInt},'b':}"; 当然,如果对象的成员变量很多,可以可以通过对象遍历的方式输出,还有包含子对象、子子对象的情况 总结如下 格式:{'数据名':数据值} 数据值为数字时,直接输出 数据值为字符串时,用单引号包含值,'数据值' 数据值为数组时,用中括号包含,[数据值1,数据值2,] 数据值为对象时,用大括号包含,{'成员名1':成员数值1,'成员名2':{'成员2对象的成员1','成员2对象的成员1值'},} 数据与数据之间用逗号隔开,以上 一句话,如果传送数据很简单可以自己输出;如果很复杂,乖乖用三方json包吧,我真不懂为什么抗拒别人做的车轮
==========================================
js 中读取JSON的方法探讨
js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回
var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(objname);//json name
方法二:js中著名的eval函数
var strJSON = "{name:'json name'}";//得到的JSON
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象
alert(objname);//json name
第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则
var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(objconstructor);//String 构造函数
alert(objname);//undefine
必须把对象表达式扩起来eval执行才能生成一个匿名对象!
一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
Json建构于两种结构:
1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:
{
“name”:”jackson”,
“age”:100
}
2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:
{
“students”:
[
{“name”:”jackson”,“age”:100},
{“name”:”michael”,”age”:51}
]
}
二、java解析JSON步骤
A、服务器端将数据转换成json字符串
首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:>
获取JSON的值。 就是解析JSON数据
如果是简单的JSON数据, 并且只需要提取少量数据的值, 那么可以使用字符串的 *** 作来实现,比如StringsubString()等
如果是比较复杂的JSON数据,或者需要提取的值比较多, 那么可以使用Gson, FastJSon 等第三方的jar来实现
简单的Demo示例
第三方包使用的是Gson
import comgooglegsonJsonElement;import comgooglegsonJsonObject;
import comgooglegsonJsonParser;
public class GsonTest {
public static void main(String[] args) {
String strJson = "{ \"name\": \"张三\", \"age\": 12 }";
JsonParser parser = new JsonParser();
JsonElement je = parserparse(strJson);
JsonObject jobj = jegetAsJsonObject();//从json元素转变成json对象
String name = jobjget("name")getAsString();//从json对象获取指定属性的值
Systemoutprintln(name);
int age = jobjget("age")getAsInt();
Systemoutprintln(age);
}
}
把前端获取的json数据转换为json对象,如果再根据json对象数据在html页面展示。如:
var josn=[{'name':'z','age':18},{'name':'li','age':19}];//json对象//我这里josn对象是数组,可以遍历,用table去显示
var html='<table id="tab"><tr><td>姓名</td><td>年龄</td></tr>';//html字符串
for(var i=0;i<jsonlength;i++){
var obj=json[i];
html+='<tr><td>'+objname+'</td><td>'+objage+'</td></tr>';//拼接html字符串
}
html+='</table>';//table结尾
$(documentbody)append(html);//利用jQuery把table追加在body标签的最后
以上就是关于安卓 从网上获取的json数据如何处理全部的内容,包括:安卓 从网上获取的json数据如何处理、java怎么得到json中的数据、json如何获取封装数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)