首页 > 解决方案 > 将 Json 作为字符串接收并转换为 Java 对象

问题描述

我对java很陌生,想问一些新手问题。我的任务是使用 API 通过函数 incomingIM() 接收 json 对象。一旦我将它作为字符串接收,则将该 json 对象传递给序列化函数,并使用 GSONE Java 库将其转换为 java 对象。

  1. 我的第一个问题是我可以将 Json 对象作为字符串传递吗?我可以以这种方式传递吗?
  2. 那是如何在java中完成的

// 接收字符串 str 中的 Json 对象并传递给函数 serialization()

public void incomingIM(IncomingImInterface incomingImInterface) {
        String str=incomingImInterface.getMessage();
        serialization(str);


    }

//使用GSON java库进行json到java对象解析 //将值从Json对象传递给java对象

 public MainActivity(String name,String age){
        this.name=name;
        this.age=age;

    }

// 接受 json 对象作为字符串并使用 GSON 库将其转换为 java 对象

 public static void serialization(String str){
            String userJson= str;
            Gson gson = new Gson();
            MainActivity userSimple = gson.fromJson(userJson, MainActivity.class);
        }

标签: javaandroidgson

解决方案


您绝对可以将 JSON 作为字符串传递,这是正常的完成方式。只需在需要时使用 GSON 或 Jackson 解析字符串,反之亦然。您可以直接往返 POJO,也可以只使用地图。

如果您正确设置它们,许多 Web 框架(例如 Spring)会很乐意为您自动将 JSON 从字符串转换为 java-object (POJO)(它们倾向于为此利用 Jackson)。他们还会在返回响应时转换回来。我想说这是网络代码的首选方法。如果您不在网络代码中,尽管手动执行将是很正常的。


推荐阅读