对于拼接json,首先确定键对应的数值是基本数据类型还是对象或者是数组(字典),1.如果是基本数据类型直接声明private String x、或者private boolean x、或者 private int x等等 2.对于数组(字典)类型 比如
3.对于对象类型
/**
* @author wb-twh369668
*/
public class MainActivity extends Activity {
private String data = "{\"cmdId\":\"cmdId\",\"cmdType\":\"cmdType\",\"jsonInput\":{\"timeOut\":[{\"moveTimeOut\":{\"age\":\"hua\"},\"pickTimeOut\":{\"name\":\"tao\"},\"putTimeOut\":{\"score\":\"wu\"}}]}}";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getJsonData();
jieXiJson();
}
/**
* 生成json 注意【】的时候携程这样List<对象或者基本数据类型>
*/
public void getJsonData() {
PickTimeOut pickTimeOut = new PickTimeOut("tao");
PutTimeOut putTimeOut = new PutTimeOut("wu");
MoveTimeOut moveTimeOut = new MoveTimeOut("hua");
TimeOut timeOutBeam = new TimeOut(pickTimeOut, putTimeOut, moveTimeOut);
List<TimeOut> list = new ArrayList<>();
list.add(timeOutBeam);
JsonInput jsonInputBean = new JsonInput(list);
JsonString jsonString = new JsonString(jsonInputBean, "cmdId", "cmdType");
GsonUtil.toJson(jsonString);
}
/**
* 解析
*/
public void jieXiJson() {
TimeOutResponse response = GsonUtil.jsonToObject(data,TimeOutResponse.class);
Log.d("MainActivity===","response=="+GsonUtil.toJson(response));
List<TimeOutResponse.JsonInputBean.TimeOutBean> timeOut = response.getJsonInput().getTimeOut();
for (int i = 0; i <timeOut.size() ; i++) {
String age = timeOut.get(i).getMoveTimeOut().getAge();
String name = timeOut.get(i).getPickTimeOut().getName();
String score = timeOut.get(i).getPutTimeOut().getScore();
Log.d("MainActivity===","age:"+age+"===name:"+name+"===score:"+score);
}
}
}
demo地址:https://download.csdn.net/download/taowuhua0505/10907151