fastjson map转bean怎么解析3=com,fine,library,bean,item@4ae3d344,2=com,fine,library

fastjson有一个问题,我不知道是bug,还是我不会用,请高人指点!
json串:String json=&[
{id:1,a:&a1&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]},
{id:2,a:&a2&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]},
{id:3,a:&a3&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]}
要将它转换为A.java对象;
public class A{
List&B& bs=new ArrayList&B&();
//getter,setter略。
public class B{
&//getter,setter略。
调用转换函数:
&List&A& as=JSONArray.parseArray(json,A.class);
此时报错!!!
Exception in thread &main& com.alibaba.fastjson.JSONException: TODO error
&at com.alibaba.fastjson.parser.AbstractJSONParser.parse(AbstractJSONParser.java:211) &at com.alibaba.fastjson.parser.AbstractJSONParser.parse(AbstractJSONParser.java:139) &at com.alibaba.fastjson.parser.deserializer.StringFieldDeserializer.parseField(StringFieldDeserializer.java:32) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:71) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:82) &at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:222) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.deserialze(ASMJavaBeanDeserializer.java:31) &at Fastjson_ASM_JDJRefBean_6.deserialze(Unknown Source) &at com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer.parseArray(ArrayListTypeFieldDeserializer.java:117) &at com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer.parseField(ArrayListTypeFieldDeserializer.java:53) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:71) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:82) &at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:222) &at com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.deserialze(ASMJavaBeanDeserializer.java:31) &at Fastjson_ASM_JDJBean_1.deserialze(Unknown Source) &at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:617) &at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:554) &at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:549) &at com.alibaba.fastjson.JSON.parseArray(JSON.java:329)
求高人火速支援!!!谢了
我测试了下是正常的,不知道楼主是什么情况:
json数据:
[{id:1,a:&a1&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]},{id:2,a:&a2&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]},{id:3,a:&a3&,bs:[{id:1,b:&b1&},{id:2,b:&b2&},{id:3,b:&b3&},{id:4,b:&b4&}]}]
转换后得出的对象结果(通过toString转换了): [(1,a1,[(1,b1), (2,b2), (3,b3), (4,b4)]), (2,a2,[(1,b1), (2,b2), (3,b3), (4,b4)]), (3,a3,[(1,b1), (2,b2), (3,b3), (4,b4)])]
楼主的exception很纳闷,我看了AbstractJSONParser的源码,根本就没内容,怎么会这个类报错呢。
建议拿到源码调试下看看。
--- 共有 2 条评论 ---
恩;楼主还是换个最新的fastjson吧
估计和版本有关系,找了下也没看到有可能输出TODO error这个异常Message的代码
json&错误了 找个对的 json 即可解决
{id:2a:& ====== {id:2,a:&
只是随便看看,其他错误在自己找
不好意思是我提问题的时候写错了。。
我保证字符是正确的json格式。谢谢,请您再看一下。
在json格式正确的情况下,此种情况会有bug。
还是直接召唤
问题多半是json格式不对导致的。
提供版本号,这样容易对照代码,直接把测试代码附带上来,否则不好查问题。
问题解决了。是我的错。谢谢诸位的帮助。
结果呢,是什么问题造成的?
是个格式问题。我的json里面有个替换量,没加引号。比如:{a:'a',b:'b',c:#c#}
其中#c#是我动态要替换的东西没加引号呵呵。谢谢诸位了12013人阅读

本文讲解2点:
1. fastjson生成和解析json数据
&&(举例:4种常用类型:JavaBean,List&JavaBean&,List&String&,List&Map&String,Object&)
2.通过一个android程序测试fastjson的用法。
fastjson简介:
Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK
5、JDK 6、Android、阿里云手机等环境。
一. fastjson生成json字符串(JavaBean,List&JavaBean&,List&String&,List&Map&String,Object&)
&&&& String jsonStrng = JSON.toJSONString(object);
二. fastjson 解析json字符串为四种类型
&&&&& 1. JavaBean
&&&&&&&&& Person person = JSON.parseObject(jsonString, Person.class);
&&&&&&2. List&JavaBean&
&&&&&&&&& List&Person& listPerson =JSON.parseArray(jsonString, Person.class);
&&&&& 3. List&String&
&&&&&&&&&&List&String& listString = JSON.parseArray(jsonString, String.class);
&&&&& 4. List&Map&String,Object&&
&&&&&&&&& List&Map&String, Object&& listMap = JSON.parseObject(jsonString, new TypeReference&List&Map&String,Object&&&(){});& (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0 ,参考前篇程序运行结果图)
-----------------------------------------------------------------------------------------------------------------------------------------
程序运行结果:
1. 点击“解析Person数据”按钮
2. 点击“解析Persons数据按钮”
3.点击“解析listString数据”按钮
4.点击“解析listMap数据”按钮
--------------------------------------------------------------------------------------------------------------------------------------
客户端eclipse android工程目录(左边)服务器端myeclipse web工程(右边)
---------------------------------------------------------------------------------------------------------------------------------------
服务器端 fastjson_Project
1.FastJsonAction.java
package com.fastjson.
import java.io.IOE
import java.io.PrintW
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import com.fastjson.service.FastJsonS
import com.fastjson.tools.*;
public class FastJsonAction extends HttpServlet {
* Destruction of the servlet. &br&
public void destroy() {
super.destroy(); // Just puts &destroy& string in log
// Put your code here
* The doGet method of the servlet. &br&
* This method is called when a form has its tag value method equals to get.
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
* The doPost method of the servlet. &br&
* This method is called when a form has its tag value method equals to post.
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(&text/charset=utf-8&);
request.setCharacterEncoding(&utf-8&);
response.setCharacterEncoding(&utf-8&);
String action_flag = request.getParameter(&action_flag&);
PrintWriter out = response.getWriter();
if (&person&.equals(action_flag)) {
String person = GsonTools.creatJsonString(GsonService.getPerson());
String person = FastJsonTools.createJsonString(FastJsonService.getPerson());
out.println(person);
System.out.println(person);
} else if(&persons&.equals(action_flag)) {
String persons = GsonTools.creatJsonString(GsonService.getListPersons());
String persons = FastJsonTools.createJsonString(FastJsonService.getListPersons());
out.println(persons);
System.out.println(persons);
}else if(&listString&.equals(action_flag)) {
// String listString = GsonTools.creatJsonString(GsonService.getListString());
String listString = FastJsonTools.createJsonString(FastJsonService.getListString());
out.println(listString);
System.out.println(listString);
}else if(&listMap&.equals(action_flag)) {
// String listMap = GsonTools.creatJsonString(GsonService.getListMap());
String listMap = FastJsonTools.createJsonString(FastJsonService.getListMap());
out.println(listMap);
System.out.println(listMap);
System.out.println();
out.flush();
out.close();
* Initialization of the servlet. &br&
* @throws ServletException if an error occurs
public void init() throws ServletException {
// Put your code here
2.FastJsonService.java
package com.fastjson.
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
import com.fastjson.data.P
public class FastJsonService {
public static Person getPerson() {
Person person = new Person(1001, &刘德华&, &香港&);
public static List&Person& getListPersons() {
List&Person& persons = new ArrayList&Person&();
Person person1 = new Person(1001, &刘德华&, &香港&);
Person person2 = new Person(1002, &宋慧乔&, &韩国&);
persons.add(person1);
persons.add(person2);
public static List&String& getListString(){
List&String& list = new ArrayList&String&();
list.add(&美国&);
list.add(&中国&);
list.add(&俄罗斯&);
public static List&java.util.Map&String, Object&& getListMap(){
List&java.util.Map&String, Object&& list = new ArrayList&Map&String,Object&&();
java.util.Map&String,Object& map1 = new HashMap&String,Object&();
map1.put(&id&,1001);
map1.put(&name&,&刘德华&);
map1.put(&address&,&香港&);
java.util.Map&String,Object& map2 = new HashMap&String,Object&();
map2.put(&id&,1002);
map2.put(&name&,&宋慧乔&);
map2.put(&address&,&韩国&);
list.add(map1);
list.add(map2);
3.FastJsonTools.java
package com.fastjson.
com.alibaba.fastjson.*;
public class FastJsonTools {
public static String createJsonString(Object object){
String jsonString = &&;
jsonString = JSON.toJSONString(object);
} catch (Exception e) {
// TODO: handle exception
return jsonS
4.Person.java
package com.fastjson.
public class Person {
public Person() {
// TODO Auto-generated constructor stub
public int getId() {
public void setId(int id) {
public String getName() {
public void setName(String name) {
this.name =
public String getAddress() {
public void setAddress(String address) {
this.address =
public Person(int id, String name, String address) {
this.name =
this.address =
public String toString() {
return &Person [id=& + id + &, name=& + name + &, address=& + address
5. TestFastJson.java
package com.fastjson.
import com.fastjson.service.FastJsonS
import com.fastjson.tools.FastJsonT
public class TestFastJson {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
//Test1 Person
System.out.println(&FastJson数据格式测试结果:\n&);
String person = FastJsonTools.createJsonString(FastJsonService.getPerson());
//Test2 persons
String listPerson =
FastJsonTools.createJsonString(FastJsonService.getListPersons());
//Test3 listString
String listString =
FastJsonTools.createJsonString(FastJsonService.getListString()) ;
//Test 4 listMap
String listMap = FastJsonTools.createJsonString(FastJsonService.getListMap()) ;
System.out.println(&测试结果1:&+person+&\n&);
System.out.println(&测试结果2:&+listPerson+&\n&);
System.out.println(&测试结果3:&+listString+&\n&);
System.out.println(&测试结果4:&+listMap);
客户端:android_fastjson
1.MainActivity.java
package com.android.
import java.io.ByteArrayOutputS
import java.io.IOE
import java.io.InputS
import java.io.S
import java.net.HttpURLC
import java.net.URL;
import java.util.L
import java.util.M
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeR
import com.fastjson.tools.FastJsonT
import com.gson.data.P
import com.gson.http.HttpU
import android.os.B
import android.os.StrictM
import android.annotation.SuppressL
import android.app.A
import android.content.I
import android.view.V
import android.view.View.OnClickL
import android.widget.B
public class MainActivity extends Activity implements OnClickListener {
private Button person, persons, listString, listM
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
closeStrictMode();//关闭严苛模式
person = (Button) findViewById(R.id.person);
persons = (Button) findViewById(R.id.persons);
listString = (Button) findViewById(R.id.listString);
listMap = (Button) findViewById(R.id.listMap);
person.setOnClickListener(this);
persons.setOnClickListener(this);
listString.setOnClickListener(this);
listMap.setOnClickListener(this);
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.person:
String url_path = &http://192.168.0.102:8080/fastjson_Project/servlet/FastJsonAction?action_flag=person&;
String jsonString = HttpUtils.getJsonContent(url_path, &utf-8&);
Person person = FastJsonTools.getPerson(jsonString, Person.class);
//用fastJson技术解析json字符串,转换为Person对象
Person person = JSON.parseObject(jsonString, Person.class);
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
intent.putExtra(&click_flag&, &person&);
intent.putExtra(&person&, (Serializable) person);
startActivity(intent);
// Log.i(TAG, person.toString());
case R.id.persons:
String url_path2 = &http://192.168.0.102:8080/fastjson_Project/servlet/FastJsonAction?action_flag=persons&;
String jsonString2 = HttpUtils.getJsonContent(url_path2, &utf-8&);
// 用fastjson 将json字符串转换成 List&Person&
List&Person& listPerson =JSON.parseArray(jsonString2, Person.class);
List&Person& listPerson =FastJsonTools.getPersons(jsonString2, Person.class);
Intent intent2 = new Intent(MainActivity.this, OtherActivity.class);
intent2.putExtra(&click_flag&, &persons&);
intent2.putExtra(&persons&, (Serializable) listPerson); // 用Intent传递 List&Person&数据类型
startActivity(intent2);
case R.id.listString:
String url_path3 = &http://192.168.0.102:8080/fastjson_Project/servlet/FastJsonAction?action_flag=listString&;
String jsonString3 = HttpUtils.getJsonContent(url_path3, &utf-8&);
// 用fastjson 将json字符串转换成 List&String&
List&String& listString = JSON.parseArray(jsonString3, String.class);
List&String& listString = FastJsonTools.getPersons(jsonString3,String.class);
Intent intent3 = new Intent(MainActivity.this, OtherActivity.class);
intent3.putExtra(&click_flag&, &listString&);
intent3.putExtra(&listString&, (Serializable) listString); // 用Intent传递 List&Person&数据类型
startActivity(intent3);
case R.id.listMap:
String url_path4 = &http://192.168.0.102:8080/fastjson_Project/servlet/FastJsonAction?action_flag=listMap&;
String jsonString4 = HttpUtils.getJsonContent(url_path4, &utf-8&);
// 用fastjson 将json字符串转换成 List&Map&String,Object&&
// List&Map&String, Object&& listMap = JSON.parseObject(jsonString4, new TypeReference&List&Map&String,Object&&&(){});
List&Map&String, Object&& listMap = FastJsonTools.getListMap(jsonString4);
Intent intent4 = new Intent(MainActivity.this, OtherActivity.class);
intent4.putExtra(&click_flag&, &listMap&);
intent4.putExtra(&listMap&, (Serializable) listMap); // 用Intent传递 List&Map&Sting,Object&&数据类型
intent4.putExtra(&jsonString&, jsonString4);
startActivity(intent4);
@SuppressLint(&NewApi&)
public static void closeStrictMode() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll().penaltyLog().build());
private static String changeInputStream(InputStream inputStream , String encode) throws IOException {
// TODO Auto-generated method stub
jsonString =
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
while((len=inputStream.read(data))!=-1){
outputStream.write(data, 0, len);
jsonString = new String(outputStream.toByteArray(), encode);
inputStream.close();
return jsonS
2.OtherActivity.java
package com.android.
import java.util.L
import java.util.M
import com.gson.data.P
import android.R.
import android.app.A
import android.content.I
import android.os.B
import android.widget.TextV
public class OtherActivity extends Activity {
private TextView textV
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other);
textView = (TextView) findViewById(R.id.msg);
Intent intent = getIntent();
String click_flag = intent.getStringExtra(&click_flag&);
if (&person&.equals(click_flag)) { // 如果是点击 person按钮
// 接收Intent传递的Person对象
Person person =(Person) intent.getSerializableExtra(&person&);
textView.setText(person.toString());
textView.setText(&test :&+intent.getStringExtra(&test&));
} else if (&persons&.equals(click_flag)) {// 如果是点击 persons按钮
// 接收Intent传递的List&Person&参数
@SuppressWarnings(&unchecked&)
List&Person& list = (List&Person&) intent
.getSerializableExtra(&persons&);
String persons = &&;
for (Person person : list) {
persons += person.toString() + &\n&;
textView.setText(persons);
}else if (&listString&.equals(click_flag)) {
List&String& list = (List&String&) intent
.getStringArrayListExtra(&listString&);
String listString = &&;
for (String s : list) {
listString += s + &\n&;
textView.setText(listString);
} else if (&listMap&.equals(click_flag)) {
//接收Intent传递的List&Map&String,Object&&参数
@SuppressWarnings(&unchecked&)
List&Map&String, Object&& list = (List&Map&String, Object&&) intent
.getSerializableExtra(&listMap&);
String listMapString = &&;
for (Map&String, Object& map : list) {
// 遍历一个Map
for (Map.Entry&String, Object& entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
listMapString += & & + key + & : & + value + & &;
listMapString += &\n&;
textView.setText(listMapString+intent.getStringExtra(&jsonString&));
3.FastJsonTools.java
package com.fastjson.
import java.util.ArrayL
import java.util.L
import java.util.M
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeR
public class FastJsonTools {
* 用fastjson 将json字符串解析为一个 JavaBean
* @param jsonString
* @param cls
public static &T& T getPerson(String jsonString, Class&T& cls) {
t = JSON.parseObject(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
* 用fastjson 将json字符串 解析成为一个 List&JavaBean& 及 List&String&
* @param jsonString
* @param cls
public static &T& List&T& getPersons(String jsonString, Class&T& cls) {
List&T& list = new ArrayList&T&();
list = JSON.parseArray(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
* 用fastjson 将jsonString 解析成 List&Map&String,Object&&
* @param jsonString
public static List&Map&String, Object&& getListMap(String jsonString) {
List&Map&String, Object&& list = new ArrayList&Map&String, Object&&();
// 两种写法
// list = JSON.parseObject(jsonString, new
// TypeReference&List&Map&String, Object&&&(){}.getType());
list = JSON.parseObject(jsonString,
new TypeReference&List&Map&String, Object&&&() {
} catch (Exception e) {
// TODO: handle exception
4.Person.java
package com.gson.
import java.io.S
public class Person implements Serializable{
public Person() {
// TODO Auto-generated constructor stub
public int getId() {
public void setId(int id) {
public String getName() {
public void setName(String name) {
this.name =
public String getAddress() {
public void setAddress(String address) {
this.address =
public Person(int id, String name, String address) {
this.name =
this.address =
public String toString() {
return &Person [id=& + id + &, name=& + name + &, address=& + address
5.HttpUtils.java
package com.gson.
import java.io.ByteArrayOutputS
import java.io.IOE
import java.io.InputS
import java.net.HttpURLC
import java.net.URL;
import android.annotation.SuppressL
import android.os.StrictM
/** 接收path服务器端返回的 InputStream, 转换为 json字符串
* @author ben
public class HttpUtils {
public static String getJsonContent(String url_path ,String encode){
String jsonString = &&;
URL url = new URL(url_path);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setConnectTimeout(3000);
connection.setRequestMethod(&GET&);
connection.setDoInput(true);
//从服务器获得数据
int responseCode = connection.getResponseCode();
if (200 == responseCode) {
jsonString = changeInputStream(connection.getInputStream(),encode);
} catch (Exception e) {
// TODO: handle exception
return jsonS
private static String changeInputStream(InputStream inputStream , String encode) throws IOException {
// TODO Auto-generated method stub
jsonString =
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
while((len=inputStream.read(data))!=-1){
outputStream.write(data, 0, len);
jsonString = new String(outputStream.toByteArray(), encode);
inputStream.close();
return jsonS
6.activity_matin.xml
&LinearLayout xmlns:android=&/apk/res/android&
xmlns:tools=&/tools&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
android:orientation=&vertical&&
android:id=&@+id/person&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&解析Person数据& /&
android:id=&@+id/persons&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&解析Persons数据& /&
android:id=&@+id/listString&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&解析listString数据& /&
android:id=&@+id/listMap&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:text=&解析listMap数据& /&
&/LinearLayout&
7.activity_other.xml
&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/apk/res/android&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
android:orientation=&vertical& &
android:id=&@+id/msg&
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
&/LinearLayout&
8.AndroidManifest.xml
&?xml version=&1.0& encoding=&utf-8&?&
&manifest xmlns:android=&/apk/res/android&
package=&com.android.mygson&
android:versionCode=&1&
android:versionName=&1.0& &
android:minSdkVersion=&8&
android:targetSdkVersion=&19& /&
&!-- 添加访问网络的授权 --&
&uses-permission android:name=&android.permission.INTERNET& /&
&application
android:allowBackup=&true&
android:icon=&@drawable/ic_launcher&
android:label=&@string/app_name&
android:theme=&@style/AppTheme& &
android:name=&com.android.mygson.MainActivity&
android:label=&@string/app_name& &
&intent-filter&
&action android:name=&android.intent.action.MAIN& /&
&category android:name=&android.intent.category.LAUNCHER& /&
&/intent-filter&
&/activity&
&activity android:name=&.OtherActivity&&&/activity&
&/application&
&/manifest&
-----------------------------------------------------------------------------------------------------------------
注意一点:
客户端:FastJsonToos.java 泛型方法的写法。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:115649次
积分:1719
积分:1719
排名:第18962名
原创:49篇
转载:25篇
评论:26条
(2)(3)(1)(5)(1)(9)(27)(26)

我要回帖

更多关于 fastjson javabean 的文章

 

随机推荐