请写一个Java类,实现JSONObject的功能
时间: 2024-02-13 07:07:42 浏览: 60
好的,以下是一个简单的Java类,实现了JSONObject的功能:
```java
import java.util.HashMap;
import java.util.Map;
public class JSONObject {
private Map<String, Object> map;
public JSONObject() {
map = new HashMap<>();
}
public void put(String key, Object value) {
map.put(key, value);
}
public Object get(String key) {
return map.get(key);
}
public String getString(String key) {
Object obj = get(key);
if (obj == null) {
return null;
}
return obj.toString();
}
public int getInt(String key) {
Object obj = get(key);
if (obj == null) {
return 0;
}
return Integer.parseInt(obj.toString());
}
public boolean getBoolean(String key) {
Object obj = get(key);
if (obj == null) {
return false;
}
return Boolean.parseBoolean(obj.toString());
}
public double getDouble(String key) {
Object obj = get(key);
if (obj == null) {
return 0.0;
}
return Double.parseDouble(obj.toString());
}
public boolean contains(String key) {
return map.containsKey(key);
}
public void remove(String key) {
map.remove(key);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
for (String key : map.keySet()) {
sb.append("\"" + key + "\":");
Object value = map.get(key);
if (value instanceof String) {
sb.append("\"" + value + "\"");
} else {
sb.append(value);
}
sb.append(",");
}
if (sb.length() > 1) {
sb.deleteCharAt(sb.length() - 1);
}
sb.append("}");
return sb.toString();
}
}
```
这个类中包含了put、get、remove等基本的方法,以及一些获取特定类型数据的方法,如getString、getInt等。同时,还重写了toString方法,以便将JSONObject转换为字符串输出。
当然,这只是一个简单的实现,实际上JSONObject还包含了很多其他的方法和功能。不过这个类可以作为一个参考,帮助你理解JSONObject的基本实现原理。
阅读全文