【问题标题】:JSON sending class A goes in class BJSON 发送 A 类进入 B 类
【发布时间】:2011-09-03 15:25:02
【问题描述】:

我开始使用 Restful Web 服务并通过 JSON google gson 进行学习。虽然到目前为止,我刚刚制作了我的服务器生产者和 json 消费者应用程序。
我很喜欢它。

现在这是我的消费者代码:它有一个 TextMessages 类对象消息

private void submitButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
InputStreamReader reader = null;
String name = nameTextfield.getText();
String url = "http://myurl/" + name;
    try {
        try {
            reader = new InputStreamReader(new URL(url).openStream());
        } catch (MalformedURLException ex) {
            Logger.getLogger(StartClient.class.getName()).log(Level.SEVERE, null, ex);
        }
    } catch (IOException ex) {
            Logger.getLogger(StartClient.class.getName()).log(Level.SEVERE, null, ex);
    }

    TextMessages message = new Gson().fromJson(reader, TextMessages.class);

    JOptionPane.showMessageDialog(this, message.getMessage(), "Welcome" + message.sumAllIntegers(), 
JOptionPane.INFORMATION_MESSAGE);

}

// 类文本消息

package use;

public class TextMessages{
private String message;
private int a,b,c,d,wee;

public TextMessages(String __message){
    message = __message;        
}
public TextMessages(){
}

public String getMessage(){
    return message;
}

public void setMessage(String __message){
    message = __message;
}

}

现在服务器正在发送 OtherTestMessage 类的 JSON

public class TextMessage {
    private String message;
    //getter and setter functions
    // no int a,b
.....

为什么它工作正常?它应该工作正常吗?又是语言哲学吗? JSON如何转换事物。还是没有?只是复制数据?

【问题讨论】:

    标签: java web-services json


    【解决方案1】:

    gson 库正在查看 JSON 并将其映射到您提供的类。

    您的两个类中都有一个名为messageString。 gson 在 JSON 中采用 message 元素并在这两种情况下存储值。在您的 TextMessages 类中,如果这些元素存在于 JSON 中,它还将存储 ab 等的值。

    对于只有 String messageTextMessage 类,如果 JSON 中的其他元素(ab 等)存在,它们将被静默忽略。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多