json数据怎么处理?json格式如何转换?

阳光 2021-06-07 18:46:43 java常见问答 8640

json是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,那json数据怎么处理?下面来我们就来给大家讲解一下。

1.可以先进行判断,是jsonObject:{"":""}还是Arrayjson:[{},{}],使用JSONTokener(自己知道的情况下就简单一些)

ArrayList arrayList = new ArrayList < > ();
try
{
    Object json = new JSONTokener(response)
        .nextValue();
    if (json instanceof JSONArray)
    {
        JSONArray array = new JSONArray(response);
        for (int i = 0; i < array.length(); i++)
        {
            < p = "" >
                arrayList.add(array.get(i));
        }
        return arrayList;
    }
}
catch (JSONException e)
{
    e.printStackTrace();
}

2.自己写一个类,处理json

package com.example.fitness_app;
import com.example.fitness_app.bean.FitnessCourse;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
public class MyJson
{
    //返回json对象
    public JSONObject JsonToObject(String response)
    {
        try
        {
            Object json = new JSONTokener(response)
                .nextValue();
            if (json instanceof JSONObject)
            {
                JSONObject jso = new JSONObject(response);
                return jso;
            }
        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
        return null;
    }
    //返回list集合
    public List JsonToList(String response)
    {
        ArrayList arrayList = new ArrayList < > ();
        try
        {
            Object json = new JSONTokener(response)
                .nextValue();
            if (json instanceof JSONArray)
            {
                JSONArray array = new JSONArray(response);
                for (int i = 0; i < array.length(); i++)
                {
                    < p = "" >
                        arrayList.add(array.get(i));
                }
                return arrayList;
            }
        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
        return null;
    }
    //返回list集合
    public ListJsonToListTeacherCourse(String response)
    {
        ArrayListarrayList = new ArrayList < > ();
        //         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try
        {
            Object json = new JSONTokener(response)
                .nextValue();
            if (json instanceof JSONArray)
            {
                JSONArray array = new JSONArray(response);
                for (int i = 0; i < array.length(); i++)
                {
                    < p = "" >
                        FitnessCourse f = new FitnessCourse();
                    JSONObject jsonObject = array.getJSONObject(i);
                    if (jsonObject.get("id") != null)
                    {
                        f.setId(Long.parseLong(jsonObject.get("id")
                            .toString()));
                    }
                    if (jsonObject.get("name") != null)
                    {
                        f.setName((String) jsonObject.get("name"));
                    }
                    if (jsonObject.get("description") != null)
                    {
                        f.setDescription((String) jsonObject.get("description"));
                    }
                    if (jsonObject.get("courseDay") != null)
                    {
                        f.setCourseDay((String) jsonObject.get("courseDay"));
                    }
                    if (jsonObject.get("courseTime") != null)
                    {
                        f.setCourseTime((String) jsonObject.get("courseTime"));
                    }
                    if (jsonObject.get("teacherId") != null)
                    {
                        f.setTeacherId(Long.parseLong(jsonObject.get("teacherId")
                            .toString()));
                    }
                    arrayList.add(f);
                }
                return arrayList;
            }
        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
        return null;
    }

3. 在带有泛型的情况下不能强转!(不带的情况下,子父类可以互相强转!!)

4.可以通过循环单个取出强转

Listcourses = myJson.JsonToListTeacherCourse(t_course);
List list = myJson.JsonToList(t_course);
ArrayListcourses1 = new ArrayList < > ();
for (int i = 0; i < list.size(); i++)
{
    < p = "" >
        FitnessCourse o = (FitnessCourse) list.get(i);
}

json格式如何转换?

可以先转换为json对象再进行转换。json格式都是使用键值对的结构,所以需要转换为其他格式都可以对json对象进行遍历处理。另外可以使用正则表达式进行特定的转换,但是一般不推荐这样做。

json易于人阅读和编写,同时也易于机器解析和生成,所以在实际开发中,大家要掌握json的转换方法,有助于开发效率!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

ultraedit自动缩进怎么操作?ultraedit有哪些功能?

fastjson怎么开启autotype?autotype开启方式

java架构师培训班靠谱么?怎么选择好的培训班?