我想把我的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) 我试图通过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) 我有一个简单的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语言的库,它需要用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)