将Json接收为String并转换为Java对象

时间:2018-09-19 20:42:05

标签: java android gson

我对Java很陌生,想问一些新手问题。我的任务是使用API​​通过函数传入IM()接收json对象。一旦我以字符串形式收到它,就将该json对象传递给序列化函数,然后使用GSONE Java库将其隐式传递给java对象。

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

//在String str中接收Json对象并传递给函数   序列化()

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);
        }

1 个答案:

答案 0 :(得分:0)

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

如果您正确设置了许多Web框架(例如Spring),它们会为您自动将JSON从字符串转换为Java对象(PO​​JO)(它们倾向于利用Jackson来实现)。当返回响应时,它们也会转换回去。我想说这是Web代码的首选方法。如果您不在网络代码中,尽管手动进行将是很正常的。