jsonobject怎么获取json中某个值

作者&投稿:冷尹 (若有异议请与网页底部的电邮联系)
如何在JSONObject提取指定字段的值~

JSONObject obj = {"count":1,"admin":{"admin_power":"1","admin_name":"joeyhacker"}} ;
String name = obj.getObject("admin").getString("admin_name");

查看一下返回的数据格式 items[i].rectime 可能是个对象,不是字符串。
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

这样:

public static void jsonToBean(String data) {

try {

JSONArray array = new JSONArray(data);//将json字符串转成json数组

for (int i = 0; i < array.length(); i++) {//循环json数组

JSONObject ob = (JSONObject) array.get(i);//得到json对象

String name= ob.getString("name");//name这里是列名称,获取json对象中列名为name的值

System.out.print(name);//输出name

} catch (JSONException e) {

}

}

扩展资料:

注意事项

java处理 json格式字符串 : 转成 JSONArray 或 JSONObject 类型

1、如果是JSONArray  ,格式:  最外层是 中括号,表示数组

格式 :  [{key:value},{key:value}... ]

 ["str1","str2","str3",...]

语法:JSONArray array = JSONArray.parseArray(strs)

注:strs 必须是json格式的字符串, 以"[  ]"中括号开头结尾. 否则会报错.

2、如果是JSONObject ,格式:  最外层是大括号,表示对象

格式:{key:value}

语法::JSONObject result = JSONArray.parseObject(strs );





一、 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官网下载:http://json-lib.sourceforge.net/)

然后将数据转为json字符串,核心函数是:
public static String createJsonString(String key, Object value)
{
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject.toString();
}
B、客户端将json字符串转换为相应的javaBean
1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)
public class HttpUtil
{

public static String getJsonContent(String urlStr)
{
try
{// 获取HttpURLConnection连接对象
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
// 设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// 获取相应码
int respCode = httpConn.getResponseCode();
if (respCode == 200)
{
return ConvertStream2Json(httpConn.getInputStream());
}
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}

private static String ConvertStream2Json(InputStream inputStream)
{
String jsonStr = "";
// ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// 将输入流转移到内存输出流中
try
{
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer, 0, len);
}
// 将内存流转换为字符串
jsonStr = new String(out.toByteArray());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}
}
2、获取javaBean
public static Person getPerson(String jsonStr)
{
Person person = new Person();
try
{// 将json字符串转换为json对象
JSONObject jsonObj = new JSONObject(jsonStr);
// 得到指定json key对象的value对象
JSONObject personObj = jsonObj.getJSONObject("person");
// 获取之对象的所有属性
person.setId(personObj.getInt("id"));
person.setName(personObj.getString("name"));
person.setAddress(personObj.getString("address"));
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return person;
}

public static List<Person> getPersons(String jsonStr)
{
List<Person> list = new ArrayList<Person>();

JSONObject jsonObj;
try
{// 将json字符串转换为json对象
jsonObj = new JSONObject(jsonStr);
// 得到指定json key对象的value对象
JSONArray personList = jsonObj.getJSONArray("persons");
// 遍历jsonArray
for (int i = 0; i < personList.length(); i++)
{
// 获取每一个json对象
JSONObject jsonItem = personList.getJSONObject(i);
// 获取每一个json对象的值
Person person = new Person();
person.setId(jsonItem.getInt("id"));
person.setName(jsonItem.getString("name"));
person.setAddress(jsonItem.getString("address"));
list.add(person);
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

return list;
}


json 是什么文件
SON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的...

如何用java实现bin格式转换到json格式
public static <T> T decodeObject(String json, Class<T> clz) { JSONObject jsonObject = JSONObject.fromObject(json);T bean = (T) JSONObject.toBean(jsonObject, clz);return bean;} public static void main(String[] args) { DTO d = new DTO();d.setName("dto");Son real...

英语问题,一词多意。
object n. 物体; 宾语; 目标 v. 反对, 抗议, 拒绝; 提出...来反对 gloom n. 忧沉, 幽暗 v. 变忧沉, 变黑暗; 使黑暗, 使忧郁 bear v. 支持, 承受; 运送; 承担; 携带; 忍受, 压迫, 结果实 n. 熊; 鲁莽的人; 似熊的动物; 笨拙的人 sewer n. 污水管, 阴沟, 下水道...

js每个对象拥有一个原型对象吗?
在页面中直接打印一个对象:[Object Object],这是toString方法的返回值。如果希望输出的时其他的内容,可以修改toString方法,也就是在原型对象中添加一个toString方法。原型对象实现继承 function Father(){};function son(){};\/\/ 父类方法Father.prototype.money = function(){};\/\/ son继承father的方...

...帮我分析一下,哪里出错了、尤其是是那个“Son”
public static void main(String[] args){ \/\/主方法应该放在public 声明的类中 public Son(){ \/\/没见过你这么写的,如果是Son方法在public后请加void,如果是调用构造方法,那可就大错特错了 class Son extends Father{ \/\/上面已经有了一个Son类继承了Father类了。这里为何又继承?public String ...

在JS中实现继承有哪几种方式
分别是:扩展Object的prototype实现继承、使用call和apply实现继承、使用原型实现继承。二、扩展Object的prototype实现继承扩展Object实现继承的本质,是我们自己写了一个方法,将父类的所有属性和方法通过遍历循环,逐个复制给子类。详细步骤如下:1:定义父类functionParent(){}2:定义子类funtion Son(){}3:...

2014年英语专四考试词汇语法题考前练兵(13)
【难点】object意为“反对,不赞成;提出异议”,指有不同意见。oppose意为“反对;反抗”,及物动词;reckon意为“计算;数”;shout意为“叫喊”。 13. B)【句意】瘫痪后,珍妮不得不去习惯失去自由行动能力的状态,她讨厌依赖他人做她以前自己能做的事情。 【难点】autonomy意为“人身自由;自主权”;authority意为“...

英文名人名言!
英文名人名言:1、Stopstruggling,lifeisstopped.停止奋斗,生命也就停止了。2、Godgivesusevilatthesametime,alsogivesusconquerevilweapons.神赋予我们恶的同时,也给我们征服恶的武器。3、Anylaborisanoble,loftycareeronlylabor.任何一项劳动都是崇高的,崇高的事业只有劳动。4、Ceasetostruggleandyouceaseto...

虚拟语气是什么 怎么用 要浅白解释
虚拟语气是一种动词形式,表示说话人的一种愿望,假设,怀疑,猜测, 建议等含义,虚拟语气所表示的含义不是客观存在的事实。If I were you, I'd take them away.如果我是你的话,我就会带走他们。If I had met Li Hua, I could had told him.如果我碰见了李华,我就告诉了他了。If I had...

急求、、全文翻译《茶花赋》!
I eagerly looked at his hand, then his hands full of cocoons son, stained with fresh soil. I looked at his face, his eyes deeply carved wrinkles, do not need to ask him about his life experience, guess he was a middle-aged man had been hardship. If he leaves you to go...

东坡区18839016100: java 怎么取json 字段的数据 -
姓陈复方: 1234567 JSONObject j = newJSONObject(); j.put("id", "22"); j.put("name", "haha"); j.put("sex", "xixi"); System.out.println(j.get("id"));

东坡区18839016100: 如何获取前端传过来的json对象? -
姓陈复方: 你在前台的页面使用jsp,里面写个javascript,js中可用el表达式来获取response中的基础类型值,因为在返回jsp之前,el表达式就会被解析,js实在返回之后执行的,其实就等于你在js中直接赋值.对于对象的话,要从servlet或是response中获取,使用ajax,至于其他的方法,目前没想到,jstl标签和el表达式作用差不多.

东坡区18839016100: Java如何读取Json里特定的url字段,并打开这个链接? -
姓陈复方: java.net.HttpURLConnection可以读HTTP协议的内容..........JSON就是文本的内容而已,,,,,要解析可以使用json的第三方lib

东坡区18839016100: jsonobject怎么获得json数组里面的值 -
姓陈复方: public static void jsonToBean(String data) { try { JSONArray array = new JSONArray(data);//将json字符串转成json数组 for (int i = 0; i < array.length(); i++) {//循环json数组 JSONObject ob = (JSONObject) array.get(i);//得到json对象 String name=...

东坡区18839016100: 怎么把后台返回的json对象转换为js对象? -
姓陈复方: 用eval运行得到结果就行了 例如后台返回的内容保存在变量json json = '{ data: "string" }'; // 字符串形式的json数据 object = eval( '('+ json + ')' ); // 这样的到的object就是{ data : 'string' }

东坡区18839016100: android怎么样获取并解析json数据 -
姓陈复方: json数据 是从接口获取来的 其实就是一串字符串 可以用Gson解析. Gson gson =new Gson( ),然后调用fromJson 方法解析

东坡区18839016100: java怎么读取json格式的数据 -
姓陈复方: JSONObject jb = JSONObject.fromObject(s); JSONArray array1 = jb.getJSONArray("1"); //你的s中有1个array(即\"1\"),2个json对象 (即\"2\":{\"3\":4},\"5\":{\"6\":true}}" ) Iterator<JSONObject> iter = array1 .iterator(); while (iter.hasNext()) { JSONObject jsobj = iter.next(); String num =jsobj.getString(".."); }

东坡区18839016100: java 怎么获取json格式数据 -
姓陈复方: 接收到的json数据,是String类型的.可以用JSONObject等JSON处理类,来解析这个String

东坡区18839016100: 如何获取ajax返回的json的数据 -
姓陈复方: HttpServletResponse response = ServletActionContext.getResponse(); response.getWriter().write(JSONObject.fromObject(...).toString());//返回json对象 response.getWriter().write(JSONArray.fromObject(...).toString());//返回json数组

东坡区18839016100: com.google.gson.jsonobject怎样获取 -
姓陈复方: 使用GoogleGson实现象json字符串间转换 需要gson-1.4.jar1.JsonUtil.java Java代码 package com.snail.json; import java.lang.reflect.Type; import com.google.gson.Gson; /** * Java象JSON字符串相互转化工具类 * @author penghuaiyi * @date ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网