org.json.JSONObject kotlin vs java
我注意到Kotlin和Java中JSONObject的行为方式有所不同 在Java中:org.json.JSONObject kotlin vs java,java,android,json,kotlin,org.json,Java,Android,Json,Kotlin,Org.json,我注意到Kotlin和Java中JSONObject的行为方式有所不同 在Java中: public class Animal { String name; int age; public Animal(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { A
public class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Animal anim = new Animal("Dog", 2);
JSONObject obj = new JSONObject(new Gson().toJson(anim));
System.out.println(obj);
}
}
我们需要先转换成JSON字符串,然后再从中生成JSONObject{“name”:“Dog”,“age”:2}
。否则我们会得到空的JSONObject{}
在科特林:
class Animal {
val name: String = "Dog"
val age: Int = 1
}
data class MadExample (
val x: String,
val y: String
)
fun main() {
val mad = MadExample("mad", "example")
println(JSONObject(mad))
val animal = Animal()
println(JSONObject(animal))
}
在生成JSONObject之前,我们不需要将其转换为JSON字符串
所以,我的问题是:在这两种情况下,幕后发生了什么?为什么JSONObject不直接支持Java中的对象
注意:-在上述所有示例中,我使用了org.json.JSONObject
提前感谢。如果向Java类中添加属性getter(
String getName()
),会发生什么?另外,请确保指定在每种情况下使用的JSONObject
。添加属性getter时,我直接从对象中获取JSONObject
。对于这两种语言,字段需要在JSONObject的getter方面可见,以提供JSONObject
。谢谢。如果在Java类中添加属性getter(stringgetname()
),会发生什么?另外,请确保指定在每种情况下使用的JSONObject
。添加属性getter时,我直接从对象中获取JSONObject
。对于这两种语言,字段需要在JSONObject的getter方面可见,以提供JSONObject
。谢谢