Java中关于JSON格式数据的操作

时间:2025-03-28 19:52:15

对于java格式数据的处理:

   1: 先创建java实体类,例如:       

public class Brand {

            private String id;
            private String brandName;;
            public void setId(String id) {
                       = id;
             }

             public String getId() {
                      return id;
             }

             public String getBrandName() {
                  return brandName;
             }

           public void setBrandName(String brandName) {
                   = brandName;
          }

     2:创建java类的类对象           

            Brand brand1=new Brand();

            Brand brand2=new Brand();

     3:添加数据           

            (1);

            ("奔驰");

            (2);

            ("宝马");

     4:添加到 list 中         

 List<Brand> list=new ArrayList<Brand>();

 (brand1);

 (brand2);

     5:在json对应的数据格式(Object格式)中添加数据

 Map<String,Object> map=new LinkedHashMap<String,Object>();

  ("reason", "success");

  ("result", list); // list

     6:转化为json类型的数据并输出 //(java类型数据)

              ((map));

------------------------------------------------------------------------------------------------------------------------

对于json格式数据:

  1:先用 JSONObject jsonObj=(str);    //str是json格式的数据

  2:对于获取不同格式的数据

      (1):JSONArray格式

        JSONArray jsonArray=("result");

      (2):JSONObject格式

         JSONObject provinceCompareJsonObj=

        ("data").getJSONObject("provinceCompare");   

         //要获取"provinceCompare"内的数据“

         //data”内的数据为JSONObject格式,且"provinceCompare"内的数据也为JSONObject格式

  3:(1):对于要输出的数据是Object对象,例如{ 键1:{键2:值} }的格式   

for(Entry<String,Object> entry:()) {

        ("省份/直辖市:"+());     //获取其中的键1并输出
   
        //获取<键2:值>的对象,再依次输出其中的值
        JSONObject value=(JSONObject)();       

        ("nowConfirm:"+("nowConfirm"));

        ("dead:"+("dead"));

        ("heal:"+("heal"));

        ("confirmAdd:"+("confirmAdd"));

        ();

 }

      (2): 对于要输出的数据是数组对象 例如 [{键:值,键:值},{键:值,键:值}] 的格式

        1):遍历方法1

       对其中的每个值都通过对应的键来获取     

 //先获取jsonArray的长度,再遍历
 for(int i=0;i<();i++) {          

          JSONObject item=(i); //获取其中的每一个Object对象

          ("id:"+("id")); //对其中每个Object对象,获取值

          ("question:"+("question"));

          ("answer:"+("answer"));

          ("item1:"+("item1"));

          ("item2:"+("item2"));

          ("item3:"+("item3"));

          ("item4:"+("item4"));

          ("explains:"+("explains"));

          ("url:"+("url"));   

          (); //每次遍历最后都换行

      }

     2):遍历方法2     

需要创建要获取的数据的类的对象,根据类对象的get方法获取值

//需要创建要获取的数据的类的对象,根据类对象的get方法获取值

  List<Detail> questionList=("result", );

  for(Detail detail:questionList) {

           ("题干:"+());

           ("答案:"+());

           ("选项1:"+detail.getItem1());

           ("选项2:"+detail.getItem2());

           ("解析:"+());

           ();

  }