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= 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 );

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-06

第2个回答  2017-07-09
一、 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;
}

jsonobject怎么获取json中某个值
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的值 ...

jquery怎么获取json里其中一个值
1、首先我们要导入json包,新建一个对象。2、接着直接调用json.dumps将对象转化为json格式,如下图所示,这是比较常用的。3、我们可以输出一下转化以后的格式,如果显示是str则代表是json格式。4、而将json格式转化为对象也是比较常用的,这就用到load函数了。5、接下来大家还需要知道的是json模块所在的...

如何在JSONObject提取指定字段的值
JSONObject obj = {"count":1,"admin":{"admin_power":"1","admin_name":"joeyhacker"}} ;String name = obj.getObject("admin").getString("admin_name");

请问怎样用Java语言遍历json对象,得到对象中的某个集合中的值?
JSONObject jsonObject = new JSONObject(s);然后用Iterator迭代器遍历取值,建议用反射机制解析到封装好的对象中

ios开发:如何取出json里面的字段值?
在内存中,json对象实际上是一个字典,字典里面的真正存储值只有两种类型NSString和NSNumber,可以用字典和数组包装。如果想看看json里的内容,可以先把json转为data,再把data转为NSString输出,就可以看到了。更多详情:http:\/\/blog.csdn.net\/enuola\/article\/details\/7903632\/ ...

JSONArray与JSONObject怎么用?
在Android开发中,JSONArray和JSONObject是两个常用的JSON数据解析类。以下是它们的基本使用方法:一、JSONArray 创建JSONArray对象:JSONArray jsonArray = new JSONArray();添加元素到JSONArray中:jsonArray.put("value");从JSONArray中获取元素:String value = jsonArray.getString(0);遍历JSONArray中...

JSONObject的使用
使用方法在项目中,首先需要引入JSONObject相关的依赖。常用的方法包括JsonObject.parseObject(),用于解析JSON格式的数据,将数据映射到对象上。需要注意的是,解析嵌套的JSON数据时,需要逐层处理,不能直接解析多层结构。若接收的是JSON数组,可以遍历每个JSONObject,通过key获取相应的值。在调用get方法时(...

JSONObject详解
解析JSON时,对于基本类型如number和boolean,直接使用JSONObject对象的getXXX(key)方法获取JSONArray对象,再调用JSONArray对象的get(i)方法获取数组元素。处理多对象JSON字符串时,根据实际情况转换为多个JSON对象。注意,当构建JSON使用JavaBean时,确保Bean有getter方法,否则无法访问数据。JSON的解析通常涉及...

如何读取json字符串中的数组?
json来做吧,先去下载下jar包。下面是测试的代码:try{String str = "{'list':['1,2','3,4','5,6']}";JSONObject jsonObject = JSONObject.fromObject(str); \/\/把转为json对象。String array= jsonObject.getString("list"); \/\/获取list的值。JSONArray jsonArray = JSONArray....

json中怎么取出对象的属性值啊?
1、打开vscode,创建一个测试页面JsonTest.html,用于演示在js中如何获取json对象的属性集合。2、在测试页面中,定义一个js变量,将其赋值为json格式的字符串,用于模拟从后台返回过来的json字符串值,以及后续转换为json对象,和获取其属性集合。var json = "[{\\"Col1\\": \\"Hello\\", \\"Col2\\":...

相似回答