小编Nit*_*hin的帖子

JSON GSON.fromJson Java Objects

我想把我的Json加载到我的班级

public User() {
    this.fbId = 0;
    this.email = "";
    this.name = "";
    this.thumb = "";
    this.gender = "";
    this.location = "";
    this.relationship = null;
    this.friends = new ArrayList();
}
Run Code Online (Sandbox Code Playgroud)
{
    users:{
        user:{
            name:'the name',
            email:'some@email.com',
            friends:{
                user:{
                    name:'another name',
                    email:'this@email.com',
                    friends:{
                        user:{
                            name:'yet another name',
                            email:'another@email.com'
                        }
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力让GSON使用以下代码将用户详细信息加载到上面的Java对象中

User user = gson.fromJson(this.json, User.class);
Run Code Online (Sandbox Code Playgroud)

java json gson

22
推荐指数
1
解决办法
7万
查看次数

无法使用 RuntimeTypeAdapterFactory 反序列化,“未定义名为 type 的字段”

我试图通过Gson框架学习java bean的继承和反序列化的概念。下面给出了有关 java bean 类和 json 文件的详细信息。

父Bean.java

public class ParentBean {

    protected String key1;
    protected String key2;

    public ParentBean(String key1, String key2) {
        super();
        this.key1 = key1;
        this.key2 = key2;
    }

}
Run Code Online (Sandbox Code Playgroud)

Bean1.java

public class Bean1 extends ParentBean {

    private String key3;

    public Bean1(String key1, String key2, String key3) {
        super(key1, key2);
        this.key3 = key3;
    }

}
Run Code Online (Sandbox Code Playgroud)

Bean2.java

public class Bean2 extends ParentBean {

    private String key4;

    public Bean2(String key1, String key2, String key4) {
        super(key1, key2);
        this.key4 = …
Run Code Online (Sandbox Code Playgroud)

java json gson

6
推荐指数
1
解决办法
4538
查看次数

Gson不能反序列化继承类吗?

我有一个简单的Json结构,如:

{"MessageType":"TimeData","TimeData":{"hh":12,"mm":13,"ms":15,"ss":14}}
Run Code Online (Sandbox Code Playgroud)

我设计了以下类来反序列化它:

public class JsonMessage
{
    public enum MessageTypes{
        WhoAreYou,
        TimeData
    }
    JsonMessage(){
    }
    public MessageTypes MessageType;
}
Run Code Online (Sandbox Code Playgroud)
class TimeData extends JsonMessage{
    int hh;
    int mm;
    int ss;
    int ms;

    TimeData() {
    }    
}
Run Code Online (Sandbox Code Playgroud)

我需要将反序列化分为两个阶段:

1-反序列化阅读MessageType.

2-继续基于的反序列化 MessageType

代码很简单:

public void dispatch(Object message, IoSession session)
    {

            Gson gson = new Gson();
            JsonMessage result = gson.fromJson(message.toString(), JsonMessage.class);
            System.out.println(result.MessageType.toString());
            switch (result.MessageType)
                {
                    case WhoAreYou:{
                    //.....
                    break;
                    }
                    case TimeUpdate:
                        TimeData res = new Gson().fromJson(message.toString(), TimeData.class);
                        System.out.println(res.hh);
                        break; …
Run Code Online (Sandbox Code Playgroud)

java json gson

4
推荐指数
1
解决办法
8755
查看次数

导入Java库并通过Lotus Script和SSJS调用其类

有一个java语言的库,它需要用Lotus Script和SSJS来调用.通过Lotus Script,库的脚本运行没有问题,但是不可能在SSJS上调用它.

Java库:

public class Untitled { 

  public int add(int a, int b) { return a + b; }
  public int div(int a, int b) { return a / b; }
  public int mul(int a, int b) { return a * b; }
  public int sub(int a, int b) { return a - b; }
  public String dummy() {return "42"; }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Lotus Script

Option Declare
Uselsx "*javacon"
Use "one"

Dim myClass As JavaClass
Dim calculator As JavaObject
Dim …
Run Code Online (Sandbox Code Playgroud)

java lotus-notes xpages xpages-ssjs domino-designer-eclipse

1
推荐指数
1
解决办法
347
查看次数