作者:GloryWumie | 来源:互联网 | 2023-06-02 11:02
.markdown-bodyhr::after,.markdown-body::after{clear:both}.loopLine,.messageLine0{}.markdown
认识json
{
“cat”:”it”,
“lanuaes”:{
{“id”:1;”ide”:”Eclipse”,”name”:”Java”},
{“id”:2,”ide”:”xcode”,”name”:”swift”},
{“id”:3,”ide”:”visual”,”name”:”c
}
}
1、使用JSON生成JSON类
JSONObject json = new JSONObject();
json.put(key,value);
2、生成json数组
JSONObject array1 = new JSONObject();
array.put(name,value);
JSONObject array2 = new JSONObject();
array.put(name,value);
JSONArray array = new JSONArray();
array.put(array1);
array.put(array2);
String jsOnclass= json.toString();
JSONObject jsOnObjectClass= new JSONObject(jsonclass);
if(jsonObjectClass.has(“name”)){
String str = jsonObjectClass.get(“name”);
Log.e(“TT”,”解析到的类:”+str);
}else{
Log.e(“TT”,”没有找到字段”);
}
//解析数组
String array = array.toString();
JSONArray jsOnarray= new JSONArray(array);
for(int I = 0 ;jsonarray.length();i++){
JSONObject jsOnobject= jsonArray.getJSONObject(i);
if(jsonobject.has("name")){
string str = jsonobject.get("name");
}
}
3、GSon解析
1、创建一个JsonBean的Java类
public class JsonBean {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "JsonBean{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
2、在MainActivity中写一个叫getjsonData的方法
public void getjsonData() {
Gson gson = new Gson();
JsonBean jsOnBean= gson.fromJson(json,JsonBean.class);
Log.d("TT",""+jsonBean.getName());
}
这样就可以解析出来了 下面是全部的代码
3、MainActivity全部代码
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.gson.Gson;
public class MainActivity extends AppCompatActivity {
private String json ="{\"name\":\"小明\",\"age\":\"23\"}";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getjsonData();
}
public void getjsonData() {
Gson gson = new Gson();
JsonBean jsOnBean= gson.fromJson(json,JsonBean.class);
Log.d("TT",""+jsonBean.getName());
}
}
4、使用Gson生成json
同样创建JsonBean类
public class JsonBean {
private String name;
private int age;
public JsonBean(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "JsonBean{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
MainActivity类
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.gson.Gson;
public class MainActivity extends AppCompatActivity {
private String json ="{\"name\":\"小明\",\"age\":\"23\"}";
Gson gson = new Gson();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
formjsonData();
}
private void formjsonData(){
JsonBean jsOnBean= new JsonBean("Carr",20);
String str = gson.toJson(jsonBean);
Log.d("TT",str);
}
}
这样打印出来的就是生成的json数据了,大家可以试试