导航:首页 > 编程语言 > java解析简单json数据类型

java解析简单json数据类型

发布时间:2025-07-12 15:43:13

java获取json数据方法

在Java中处理JSON数据时,通常会使用一些第三方库来简化操作。例如,使用net.sf.json库可以方便地将JSON字符串转换为Java对象。下面是一个简单的示例,展示了如何将一个包含用户信息的JSON字符串转换为Java对象,并从中提取数据。

首先,我们定义一个包含用户信息的JSON字符串。这个字符串中包含了用户ID和姓名的信息。接着,我们需要导入必要的库,以便能够解析这个JSON字符串。以下是具体的代码示例:

java
import net.sf.json.JSONObject;

public class TestJson {
static String json_str = "{\"total\":920,\"data\":[{\"ID\":\"634\",\"Name\":\"于东\"},{\"ID\":\"822\",\"Name\":\"于祎\"},{\"ID\":\"782\",\"Name\":\"于燕\"},{\"ID\":\"636\",\"Name\":\"于玲\"},{\"ID\":\"841\",\"Name\":\"于浩\"},{\"ID\":\"383\",\"Name\":\"于娟\"}]};"

public static void main(String[] args) {
// TODO Auto-generated method stub
JSONObject jsonObject = JSONObject.fromObject(json_str);
System.out.println(jsonObject.get("total"));
}
}

在这个示例中,我们首先定义了一个包含用户数据的JSON字符串。然后,我们使用`JSONObject.fromObject`方法将这个字符串转换为一个`JSONObject`对象。通过调用`get`方法,我们可以从这个对象中获取`total`字段的值,该字段表示用户数据的总数。

这个示例展示了如何在Java中处理JSON数据的基本方法。在实际应用中,你可能会需要进一步处理`data`字段中的数据,例如遍历用户列表或提取特定用户的信息。此外,还可以使用其他库,如Jackson或Gson,来实现更复杂的JSON处理需求。

值得注意的是,虽然这里展示的代码使用了`net.sf.json`库,但在实际开发中,推荐使用更现代和更活跃的库,如Jackson或Gson。这些库提供了更多的功能和更好的性能。

② java中怎样解析webservice返回的json数据

json(javascript Object Notation 的缩写)是一个基于文本的,人类可读的,开放标准的轻量级数据交换格式。它继承了javascript中的简单数据结构和相关数组对象,称为对象。不管它 和javascript的瓜葛,json是语言独立的,几乎所有编程语言都能解析它。

json以键值对来表示数据。每个值被一个键名字引用(键名字是个string)。如果你想以json表示人名,他们的名字将被"name"键引用,如下:
“name” : “James”
所以json用一种容易被应用程序传递的方式表现数据,非常完美。
所以当从webservice解析数据时,你要做的第一件事就是搞清楚你的模型。下面我们会分析webservice的响应数据,搞清楚哪些bit代表对象,对象数组,对象所属的字段,等等。
但是json可以表示哪些类型的数据呢?
1.对象是大括号内的所有东东
2.字符串用双引号
3.数字只是简单的显示,如 12345
4. 数组由中括号包围
5.布尔值从'true'和'false'获得,没有引号
6.null值由'null'表示,没有引号

③ 在java中从WebService调用的数据怎么解析json

importorg.json.JSONObject;
try{
JSONObjectjson=newJSONObject();
inttotalProperty=json.getInt("totalProperty");
JSONObjectroot=json.getJSONObject("root");
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}

要取什么值就用getXXX的方法来取

④ java解析json格式文件

/*简单的回了复杂的也就会了*/
/*其实,实际上是用来统一数据格式,所以,在使用它时,肯定要设计一下格式,
当然,所谓的复杂,只是嵌套的层次深了。。。解析方式并没有变。。个人理解,如果觉得有价值就看,没价值,就当没看见吧。。
呵呵。。
*/

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import net.sf.ezmorph.bean.MorphDynaBean;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;
/**
* @author John
*
*/
public class JSONDemo {

public static final String PREFIX = "index_";
/**
* @param args
*/
public static void main(String[] args) {
Map map = new HashMap();
String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']";

System.out.println("json格式字符串-->"+str);
JSONArray array = JSONArray.fromObject(str);
System.out.println("json格式字符串构造json数组元素的个数-->"+array.size());
ArrayList list = (ArrayList) JSONSerializer.toJava(array);

int i = 0;
for (Object obj : list) {
map.put(PREFIX+(i++), obj);
System.out.println("第"+i+"对象-->"+obj);
}
//解析第0个位置
Map bd = new HashMap();
MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0);
bd.put("session", bean.get("session"));
bd.put("status", bean.get("status"));
bd.put("remarks", bean.get("remarks"));
bd.put("vuls", bean.get("vuls"));
bd.put("endTime", bean.get("endTime"));
Iterator iter = bd.keySet().iterator();
while (iter.hasNext()){
Object key = iter.next();
Object value = bd.get(key);
System.out.println("MorphDynaBean对象-->key="+key+",value="+value);
}

//解析vuls
ArrayList vuls = (ArrayList) bd.get("vuls");
Map vl = new HashMap();
int j = 0;
for (Object obj : vuls) {
vl.put(PREFIX+(j++), obj);
System.out.println("解析vuls的第"+i+"对象-->"+obj);
}

}
}

/*
* json格式字符串-->[{'status': 5,'remarks': '\xe6\xa3\x80\xe6\xb5\x8b\xe5\xb7\xb2\xe7\xbb\x8f\xe5\xae\x8c\xe6\x88\x90','session': "(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')",'vuls': ["('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])","('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])"], 'endTime':123}, 1L, '\xe6\xb5\x8b\xe8\xaf\x95\xe6\x89\xab\xe6\x8f\x8f\xe4\xbb\xbb\xe5\x8a\xa1']
json格式字符串构造json数组元素的个数-->3
第1对象-->net.sf.ezmorph.bean.MorphDynaBean@94948a[
{session=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, ''), status=5, remarks=???????·??????????, vuls=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])], endTime=123}
]
第2对象-->1L
第3对象-->???è??????????????
MorphDynaBean对象-->key=status,value=5
MorphDynaBean对象-->key=session,value=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')
MorphDynaBean对象-->key=remarks,value=???????·??????????
MorphDynaBean对象-->key=vuls,value=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])]
MorphDynaBean对象-->key=endTime,value=123
解析vuls的第3对象-->('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])
解析vuls的第3对象-->('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])
*/

阅读全文

与java解析简单json数据类型相关的资料

热点内容
每份文件的审批需要提交哪些材料 浏览:945
无法更改苹果id账号和密码 浏览:631
安卓60lbe安全大师 浏览:90
湖北省事业单位领导配置文件 浏览:608
app倒计时任务视频怎么跳过 浏览:531
建设监理投标文件应注意哪些事情 浏览:660
电商有效网站是指什么 浏览:805
如何导入新的数据源 浏览:622
探月少儿编程如何禁止旋转 浏览:524
数据运营模板是什么意思 浏览:440
win10fax程序下载 浏览:527
找同款app有哪些 浏览:147
linux读取文件整个过程 浏览:577
百信集团的网站叫什么名字 浏览:67
开发解压app理念是什么 浏览:128
linux源代码路径 浏览:854
美图2root后不能升级了 浏览:133
shell文件size 浏览:350
通过大数据查干部哪些内容 浏览:78
如何编程输出一个数的十位数 浏览:760

友情链接