Ⅰ 解析json數據,用什麼第三方庫,方便一點的,最好有demo
看你是什麼語言了,姑且算您是java語言。
可以看看這里對象,List、Map等轉換:
http://www.sojson.com/blog/100.html
如果內你有耐心可以看看這容里:
http://www.sojson.com/tag_json.html
Ⅱ 阿里巴巴的json解析框架怎麼用
說起Json 解析,有很多方法,無論是出自Google 的Gson也好,還是來自其他的某某,想必大家都很熟悉。今日在github上閑逛,偶遇 一 json 解析庫,看起來很不錯,據說是目前最快的解析JOSN 方案。該東東為何神器,他就是來自於阿里團隊的 fastjson.
為了方便起見,參考如下代碼。
用maven 的同學就方便多了,直接雙擊打開你的pom.xml 文件,添加如下依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.36</version>
</dependency>
構建一下就OK了。
下面來具體看看:
ENCODE:
import com.alibaba.fastjson.JSON;
Group group = new Group();
group.setId(0L);
group.setName("admin");
User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");
User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");
group.getUsers().add(guestUser);
group.getUsers().add(rootUser);
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
Ⅲ Java使用json-lib庫解析JSON數據,求大神指點
你這個JSON數據 都有問題 應該是這樣
Stringlistjson="[{'content':{'content':'你好','code':1},'time':'2013-12-10'},{'content':{'content':'我是小明','code':2},'time':'2013-12-10'}]";
你自己那個裡面 多了 幾個 " 號;就在你那個 {旁邊。
下面是取值代碼
Stringlistjson="[{'content':{'content':'你好','code':1},'time':'2013-12-10'},{'content':{'content':'我是小明','code':2},'time':'2013-12-10'}]";
JSONArrayarray=JSONArray.fromObject(listjson);
for(Objectobject:array){
JSONObjectjsonobject=JSONObject.fromObject(object);
Stringcontent=jsonobject.getString("content");
Stringtime=jsonobject.getString("time");
JSONObjectjsoncontent=JSONObject.fromObject(content);
Stringcontent2=jsoncontent.getString("content");
Integercode=jsoncontent.getInt("code");
System.out.println(time+"_"+content2+"_"+code);
}
Ⅳ 如何實現一個簡單的json的庫,該庫具有生成、解析json等功能。
就是一個文本操作啊,你要自己創建一個對象,用來保存從JSON中解析出來的對象內容。反過來生成JSON文件就是用戶向這個對象內寫入內容,然後根據寫入的內容來生成JSON文件。
Ⅳ 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;
}
將獲取到的字元串,入庫即可。
Ⅵ Json數據解析,下面數據如何解析
你的 json 格式也貼錯了
{
"data": {
"name": "用戶登錄",
"data_set": [
{
"user_id": "xiaozhou",
"password": "123"
}
]
}
}
使用Newtonsoft.Json 來操縱
Newtonsoft.Json 是.NET 下開源的json格式序列號和反序列化的版類庫
官方網站: http://json.codeplex.com/
新建一個權 wimform 窗體程序,加入richTextBox 、button 控制項
Ⅶ 有沒有ubuntu的json解析工具
首先安裝libjson的c庫
#apt-get install libjson0-dev libjson0
安裝好後查看/usr/include/json下是否有頭文件,有就對了!
gcc -o json-demo -g json-demo.c -std=c99 -I/usr/include/json -L/usr/lib/i386-linux-gnu/ -ljson
注意:
1、json-demo和json-demo.c參數需要在前面,不能在後面,見錯誤1
2、需要就愛如-std=c99,代碼中需要,也可以用-std=gnu99,見錯誤2
3、-I是json的頭文件的路徑
4、-L是json庫所在位置,這個路徑可能根據系統不同而不同,建議用find / -name "libjson*"找到位置
5、-ljson不可省略,盡量放在最後,沒有這個參數會出現錯誤1的現象
Ⅷ 適用於android的優秀的json解析庫有哪些
開始項目中抄使用的是fastjson,而且襲作者也說比gson快6倍,甚至嘲諷gson的g代表了「龜速」的意思,可是我自己的簡單測試是,比較簡陋的測試,一個10萬條數據的json文件,gson比fastjson快一些,快了大概80%的樣子。雖然測試可能不科學,但數據確實是我們項目中的實際數據,所以……
另外,也許是我使用真的有問題?使用的新版本的fastjson性能反而比舊的要低很多(1.2.7,1.1.44-android,1.1.33-android裡面,1.1.33反而是最快的)。
然而,最終我選擇了logan square,它的速度比fastjson快了2-3倍(自測),嗯,推薦Android開發者們使用Logan Square。
Ⅸ 如何使用JSON Framework庫解析與生成json數據
JSON
Framework設置工作
為了在自己的工程項目中使用json framework框架庫,必須將其導入到工程項目組中。即把JSON Framework庫的Classes文件夾下所有的文件導入添加進項目中,然後在具體使用json framework的代碼實現文件中添加#import
"SBJson.h"導入此頭文件。
使用方式——解析JSON字元串:JSONValue
1. 首先取得JSON字串
NSURL *url = [NSURL URLWithString:@"http://graph.facebook.com/cyberbuzz"];
NSString *jsonString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
復制代碼
2. 調用json framework提供的解析方法來解析這個字串,將結果存儲在NSDictionary字典中
NSDictionary *items = [jsonString JSONValue];
注意:JSONValue解析後的返回值是
NSDictionary 或者是 NSArray,所以上例最好是定義返回值為id。結合上面兩步我們可以構建一個方法來實現:
- (id)fetchJSONValueForURL:(NSURL *)url
{
NSString *jsonString = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
// NSLog(@"json value %@:",jsonString);
id jsonValue = [jsonString JSONValue];
[jsonString release];
return jsonValue;
}
復制代碼
如果是為了得到NSDictionary類型,可以如下:
- (NSDictionary *)fetchJSON:(NSString *)text
{
NSString *urlString = [NSString stringWithFormat:text];
NSURL *url = [NSURL URLWithString:urlString];
//NSLog(@"fetching data");
return [self fetchJSONValueForURL:url];
}
復制代碼
3. 可以通過NSLog()來確認解析的結果,或是通過objectForKey等方法來取得JSON中的值
NSLog(@"Parsed JSON:%@",[items description]);
使用方式——將NSDictionary字典數據編碼成JSON字元串:JSONFragment
Ⅹ Java中哪個JSON庫的解析速度是最快的
FastJson效率最高,是阿里巴巴開源 的Json處理工具包,包括「序列化」和「反序列化」兩部分,它內具備如下特容征:
速度最快,測試表明,fastjson具有極快的性能,超越任其他的Java Json parser。包括自稱最快的JackJson;
功能強大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;無依賴,能夠直接運行在Java SE 5.0以上版本;支持Android;