1. java解析json文件
根據數據顯示,childern是個數組,那麼請問id是否跟此數組的下標相同,如果相同,那麼直接用
JSONArrayjsa=newJSONArray(data);//data為你獲取的json字元串
JSONObjectjObj=jsa.get(index)//index為下標
Stringvalue=jObj.getString("value");
如果不是下標,那麼只能遍歷整個數組,匹配你指定的id的json對象,然後從此對象中獲得value,獲取的方式同上
2. 如何java解析json數組
工具/原料
安裝有eclipse軟體的電腦一台
方法/步驟
1
首先我們在eclipse中創建一個java工程,在java工程中創建一個HelloWorld的類,在這個java的入口程序中,我們來創建一個json字元串,並且列印出來,如下圖:
3. java 解析json有幾種方式
JSONObject json = new JSONObject();
這個是java中獲取json用的類。
使用它的get和put就能操作json的
4. java解析json格式文件,再保存在資料庫怎麼做
1:定義一個實體類
2:用json lib將json字元串轉為Java對象
3:用jdbc或hibernate將java對象存入資料庫
直接讀寫文件,再把讀出來的文件內容格式化成json,再用JDBC、Mybatis或者其他框架將json數據存入資料庫。
假設實體類是這樣的:
publicclassElectSet{
publicStringxueqi;
publicStringxuenian;
publicStringstartTime;
publicStringendTime;
publicintmenshu;
publicStringisReadDB;
//{"xueqi":,"xuenian":,"startTime":,"endTime":,"renshu":,"isReadDB":}
publicStringgetXueqi(){
returnxueqi;
}
publicvoidsetXueqi(Stringxueqi){
this.xueqi=xueqi;
}
publicStringgetXuenian(){
returnxuenian;
}
publicvoidsetXuenian(Stringxuenian){
this.xuenian=xuenian;
}
publicStringgetStartTime(){
returnstartTime;
}
publicvoidsetStartTime(StringstartTime){
this.startTime=startTime;
}
publicStringgetEndTime(){
returnendTime;
}
publicvoidsetEndTime(StringendTime){
this.endTime=endTime;
}
publicintgetMenshu(){
returnmenshu;
}
publicvoidsetMenshu(intmenshu){
this.menshu=menshu;
}
publicStringgetIsReadDB(){
returnisReadDB;
}
publicvoidsetIsReadDB(StringisReadDB){
this.isReadDB=isReadDB;
}
}
有一個json格式的文件,存的信息如下:
Sets.json:
{"xuenian":"2007-2008","xueqi":"1","startTime":"2009-07-1908:30","endTime":"2009-07-2218:00","menshu":"10","isReadDB":"Y"}
具體操作:
/*
*取出文件內容,填充對象
*/
publicElectSetfindElectSet(Stringpath){
ElectSetelectset=newElectSet();
Stringsets=ReadFile(path);//獲得json文件的內容
JSONObjectjo=JSONObject.fromObject(sets);//格式化成json對象
//System.out.println("------------"jo);
//Stringname=jo.getString("xuenian");
//System.out.println(name);
electset.setXueqi(jo.getString("xueqi"));
electset.setXuenian(jo.getString("xuenian"));
electset.setStartTime(jo.getString("startTime"));
electset.setEndTime(jo.getString("endTime"));
electset.setMenshu(jo.getInt("menshu"));
electset.setIsReadDB(jo.getString("isReadDB"));
returnelectset;
}
//設置屬性,並保存
publicbooleansetElect(Stringpath,Stringsets){
try{
writeFile(path,sets);
returntrue;
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnfalse;
}
}
//讀文件,返回字元串
publicStringReadFile(Stringpath){
Filefile=newFile(path);
BufferedReaderreader=null;
Stringlaststr="";
try{
//System.out.println("以行為單位讀取文件內容,一次讀一整行:");
reader=newBufferedReader(newFileReader(file));
StringtempString=null;
intline=1;
//一次讀入一行,直到讀入null為文件結束
while((tempString=reader.readLine())!=null){
//顯示行號
System.out.println("line"line":"tempString);
laststr=laststrtempString;
line;
}
reader.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
returnlaststr;
}
將獲取到的字元串,入庫即可。
5. Java如何對Json數據進行解析
JSON 的兩種結構
1.「名稱/值」對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表 (hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。 在 Java 語言中,我們可以將它理解成 HashMap。
2. 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(Array 或 List)。
下面給你例舉兩種方法:
將 Json 串轉換成 Array:
運行結果如下:
{age=90, name=Tom}
Person [id=A001, name=Jack]
6. java解析json
JSON轉成java集合簡單步驟:1,載入:JSONArray jarr=JSONArray.fromObject(json字元串名);
2,轉換:List<類型> list=(List<類型>)JSONArray.toColleaction(jarr,類型.class);
JSON轉成java對象步驟,1,同上
2,類型如Emp(員工類)
Emp e=(Emp)JSONObject.toBean(jarr,Emp.class);
前提需要導入common的一系列的類庫,大概有6個jar包吧。
後面的需要你自己找你需要的某個字元串了。不知道是不是你所說的意思。
7. java解析json數據
1、如果是用的是框架,你需要配置下,類似這樣的屬性:
<result name="getGridData" type="json">
<param name="root">results</param>
</result>
2、如果你沒有使用框架,那麼頁面接收返回的時候可以自己解析一下:
success: function(resultText, statusText, xhr, $form){
//在IE10版本下的IE中,無法正常解析JSON
var result = eval('('+resultText+')');
top.Dialog.alert(result.message);
8. java中Json怎樣解析數據
你這個JSON格式,就是數組裡面放數組,所以是,取JSON對象》取JSON數組data》取JSON數組。
import java.util.ArrayList;import java.util.Iterator;import net.sf.json.*;public class MainClass {/*** @param args*/public static void main(String[] args) {JSONObject jsonObj = JSONObject.fromObject(JsonData.getData());JSONArray jsonArr = jsonObj.getJSONArray("data");Iterator<JSONArray> itr = jsonArr.iterator();JSONArray temp;while(itr.hasNext()) {temp = itr.next();System.out.println("===========Each JSONArray=========");for(int i = 0; i<temp.size(); i++) {System.out.println(temp.get(i));}}}private static class JsonData {private static String getData() {return "{\"data\":[[5000235,2,3441,8,17,\"北京測試\",\"10000101111\",\"\",\"\",\"100001\",\"\",\"2011-09-23 17:20:07\",18,\"vhcDefaultPwd\",1,0,\"2011-09-20 00:00:00\",12,0,380,\"測試\",213,1,0,0,0,0,0,\"2012-11-05 14:35:23\",\"\"],[5000236,27,3442,10,17,\"北京測試2\",\"1230000\",\"\",\"\",\"2010920002\",\"111111\",\"2011-09-23 17:20:08\",18,\"vhcDefaultPwd\",1,0,\"2011-09-20 00:00:00\",12,0,380,\"測試2\",213,1,0,0,0,0,0,\"2012-11-05 14:35:23\",\"\"]]}";}}}
9. 請大神幫助,java如何解析json數據
java首先導入以下一個包
json-lib-2.3-jdk15.jar
commons-beanutils-1.7.0.jar
commons-httpclient-3.1.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
commons-collections-3.1.jar
ezmorph-1.0.3
String dataStr = "{\"resultcode\":\"200\",.......}";
JSONObject json = JSONObject.fromObject(dataStr );
String resultcode = json.get('resultcode');
就是這樣獲取的;
String result = json.get('resultcode');
JSONObject resultJson = JSONObject.fromObject(result );
嵌套的json必須在重新解析
去了解下 JSON的相關api吧