中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網站設計介紹免費seo

網站設計介紹,免費seo,怎么讓網站排名上去,松原網站制作完整版見https://jadyer.github.io/ 先列出來正確的解析代碼,接著再描述問題詳情。 首先是用到的JavaBean package com.jadyer.model;public class User {private String name;private Book book;public String getName() {return name;}public void setName(String…

完整版見https://jadyer.github.io/




先列出來正確的解析代碼,接著再描述問題詳情。


首先是用到的JavaBean

package com.jadyer.model;public class User {private String name;private Book book;public String getName() {return name;}public void setName(String name) {this.name = name;}public Book getBook() {return book;}public void setBook(Book book) {this.book = book;}
}
package com.jadyer.model;public class Book {private String name;
//	private List<Author> author = new ArrayList<Author>();private Author author;public String getName() {return name;}public void setName(String name) {this.name = name;}
//	public List<Author> getAuthor() {
//		return author;
//	}
//	public void setAuthor(List<Author> author) {
//		this.author = author;
//	}public Author getAuthor() {return author;}public void setAuthor(Author author) {this.author = author;}
}
package com.jadyer.model;public class Author {private String name;private int money;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}
}

下面是生成json和解析json的代碼

package com.jadyer.main;import java.io.IOException;import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;import com.alibaba.fastjson.JSON;
import com.jadyer.model.User;public class JSONDemo {
//	/**
//	 * 生成{"book":{"author":[{"money":500,"name":"南派三叔"},{"money":200,"name":"孔二狗"}],"name":"網絡文學"},"name":"玄玉"}
//	 */
//	private static String format(){
//		List<Author> authorList = new ArrayList<Author>();
//		Author author11 = new Author();
//		author11.setName("南派三叔");
//		author11.setMoney(500);
//		authorList.add(author11);
//		Author author22 = new Author();
//		author22.setName("孔二狗");
//		author22.setMoney(200);
//		authorList.add(author22);
//		Book book = new Book();
//		book.setName("網絡文學");
//		book.setAuthor(authorList);
//		User user = new User();
//		user.setName("玄玉");
//		user.setBook(book);
//		return JSON.toJSONString(user);
//	}public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {String jsonText = "{\"book\":{\"author\":{\"money\":500,\"name\":\"南派三叔\"},\"name\":\"網絡文學\"},\"name\":\"玄玉\"}";//用到的jar為fastjson-1.1.36.jarUser userFromFastJSON = JSON.parseObject(jsonText, User.class);System.out.println(ReflectionToStringBuilder.toString(userFromFastJSON.getBook().getAuthor(), ToStringStyle.MULTI_LINE_STYLE));System.out.println("----------------------------------------------------------------------------------");//用到的jar為jackson-all-1.9.11.jarUser userFromJackson = new ObjectMapper().readValue(jsonText, User.class);System.out.println(ReflectionToStringBuilder.toString(userFromJackson.getBook().getAuthor(), ToStringStyle.MULTI_LINE_STYLE));}
}

接下來描述下遇到的問題


//上面解析正常時用到的json串
//"{\"book\":{\"author\":{\"money\":500,\"name\":\"南派三叔\"},\"name\":\"網絡文學\"},\"name\":\"玄玉\"}";
//我在用fastjson和jackson解析時都會報錯時用的json串
//"{\"book\":{\"author\":[{\"money\":500,\"name\":\"南派三叔\"}],\"name\":\"網絡文學\"},\"name\":\"玄玉\"}";
//它倆的區(qū)別在于:book中只有一個author對象,只是多加了[],但其仍為合法的json串
//并且http://tool.oschina.net/codeformat/json均驗證通過

但在解析時,FastJSON會報下面的異常

Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, expect {, actual ], pos 39at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:212)at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.parseRest(ASMJavaBeanDeserializer.java:96)at Fastjson_ASM_User_1.deserialze(Unknown Source)at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:513)at com.alibaba.fastjson.JSON.parseObject(JSON.java:244)at com.alibaba.fastjson.JSON.parseObject(JSON.java:220)at com.alibaba.fastjson.JSON.parseObject(JSON.java:179)at com.alibaba.fastjson.JSON.parseObject(JSON.java:323)at com.jadyer.main.JSONDemoDetail.main(JSONDemoDetail.java:18)

Jackson會報下面的異常

Exception in thread "main" org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of com.jadyer.model.Author out of START_ARRAY tokenat [Source: java.io.StringReader@509ced8e; line: 1, column: 10] (through reference chain: com.jadyer.model.User["book"]->com.jadyer.model.Book["author"])at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:219)at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:212)at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromArray(BeanDeserializer.java:875)at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:597)at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732)at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)at com.jadyer.main.JSONDemoDetail.main(JSONDemoDetail.java:22)

個人感覺Jackson的異常看上去更直觀,可能是二者內部的驗證邏輯不同導致的

不過還是傾向于FastJSON,即便一時之間沒看明白它的異常描述,但那也只是這方面的經驗不足而已

下面說一下解決辦法:Book.java中將author修改為List<Author>類型的屬性,并添加對應的setter和getter即可

個人的理解是:FastJSON和Jackson解析json為JavaBean時,先查看實體類的對應屬性

當發(fā)現該屬性不能承載多個對象值,且json串中恰好該屬性使用的是中括號,這并不是它預期的大括號,于是報錯了

http://www.risenshineclean.com/news/41123.html

相關文章:

  • 中英網站建立百度關鍵詞排名用什么軟件
  • 網站續(xù)費怎么做分錄百度搜一下
  • 網站主機安全網絡推廣公司聯系方式
  • java里面做網站都要學什么百度營銷客戶端
  • dede 轉wordpressseo分析報告
  • 咸陽市住房和城鄉(xiāng)建設規(guī)劃局網站武漢網站設計
  • 張店易寶網站建設百度分公司
  • 濟南做網站公司xywlcn網站搜索引擎優(yōu)化報告
  • 手表網站制作照片網絡營銷的核心
  • 購物網站排行nba季后賽最新排名
  • 做返利網站能賺錢aso排名優(yōu)化
  • 做的比較好的官方網站上海百度推廣方案
  • 珠海做網站哪家專業(yè)seo sem論壇
  • 如何做網站的搜索欄網絡營銷的推廣方法有哪些
  • 自己搭建服務器做網站91手機用哪個瀏覽器
  • 網站優(yōu)化主旨百度廣告推廣收費標準
  • 武漢專業(yè)網站建設zz51上海網站制作開發(fā)
  • 競網做的網站交換鏈接營銷成功案例
  • 做網站與考研學技術包分配的培訓機構
  • WordPress方糖無錫網站建設優(yōu)化公司
  • 專業(yè)的團隊網站建設引擎搜索入口
  • 室內裝修設計圖紙seo快速軟件
  • 外國人做外貿都會瀏覽哪些網站焊工培訓內容有哪些
  • 網站建設常用代碼營銷策劃36計
  • 直播視頻網站如何做網站策劃
  • 佛山專業(yè)做企業(yè)網站上海今天最新發(fā)布會
  • 吉 360 網站建設如何做好精準營銷
  • 網站客服工作內容重慶網站建設哪家好
  • 凡客專賣店網站優(yōu)化入門
  • 安徽國貿集團網站建設沈陽網站推廣優(yōu)化