【发布时间】:2017-07-13 18:45:00
【问题描述】:
以 PHP 为例:
<?php
$my_var = 1;
$my_var = [ "1" ]; // no problem
在 Java 中,我尝试使用混合参数创建一个类:
class MyClass {
public String my_var;
}
MyClass c = new MyClass();
c.my_var = "ok";
c.my_var = 1; // error during compilation time
我问这个的原因是因为我正在使用带有 json 的球衣,并且我尝试创建一个反馈类。
我的反馈类中的一个参数是以 Ajax 方式发送回前端的数据。有时data 是一个普通的字符串:
`{ "data" : "hello world" }`
有时它可以是一个数组
`{ "data" : [ "hello", "world" ] }` or `{ "data" : [ { "id": 1 }, { "id": 2 }, ... ] }`
当谈到 Java 语言和库时,我是一个真正的菜鸟。我现在能想到的唯一解决方案是覆盖 Json 编码中涉及的对象的 toString 方法,但是“toString”使用 List 会给我类似的东西,
`{ "data" : "[ ...]" }` which is incorrect.
【问题讨论】:
-
将其设为
Object类型是唯一的方法,但请注意这是真的 非Java 风格。更好的做法是为您需要的方法提供一个接口,并为所有可能性实现类。 -
@LouisWasserman 我会小心的,谢谢这个现在有效。
-
郑重声明:我在答案中添加了更多内容;涵盖您问题中的真正问题。