字符串到数组Java到Json对象
我有一个包含json对象的Java字符串,我不知道如何从中获取这个json对象 我的字符串是这样的:字符串到数组Java到Json对象,java,json,Java,Json,我有一个包含json对象的Java字符串,我不知道如何从中获取这个json对象 我的字符串是这样的: String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]"; 如何从该字符串获取json对象?请确保您需要使用lieJackson或Gson库 当我没有复杂的东西时,我主要与gson一起工作。 这里是你要求的结果。我假设您没有要转换为的类型(因为我正在接受对象) 代码如下: import com.google.
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
如何从该字符串获取json对象?请确保您需要使用lieJackson或Gson库 当我没有复杂的东西时,我主要与gson一起工作。 这里是你要求的结果。我假设您没有要转换为的类型(因为我正在接受对象) 代码如下:
import com.google.gson.Gson;
public class Json {
public static void main(String[] args) {
Gson g = new Gson();
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
Object p = g.fromJson(myString, Object.class);
System.out.println(p.toString());
}
}
以下是输出:
run:
[1.0, {"Status":0,"InstanceNumber":9}]
BUILD SUCCESSFUL (total time: 0 seconds)
您可能希望按照自己的意愿操作输出对象(我刚刚打印出来)。
注意:别忘了将gsonjar添加到类路径中。确保您需要使用库lieJackson或gson 当我没有复杂的东西时,我主要与gson一起工作。 这里是你要求的结果。我假设您没有要转换为的类型(因为我正在接受对象) 代码如下:
import com.google.gson.Gson;
public class Json {
public static void main(String[] args) {
Gson g = new Gson();
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
Object p = g.fromJson(myString, Object.class);
System.out.println(p.toString());
}
}
以下是输出:
run:
[1.0, {"Status":0,"InstanceNumber":9}]
BUILD SUCCESSFUL (total time: 0 seconds)
您可能希望按照自己的意愿操作输出对象(我刚刚打印出来)。
注意:不要忘记将gsonjar添加到类路径。您可以使用任何Json映射框架将字符串反序列化为Java对象。下面的示例显示了如何使用
Jackson
:
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
ObjectMapper mapper = new ObjectMapper();
List<Object> value = mapper.readValue(myString, new TypeReference<List<Object>>() {});
Map<String, Object> map = mapper.readValue(value.get(1).toString(), new TypeReference<Map<String, Object>>() {});
System.out.println(map);
String myString=“[1,\“{\\\”Status\\\”:0,\\\\“InstanceNumber\\\”:9}\”];
ObjectMapper mapper=新的ObjectMapper();
List value=mapper.readValue(myString,newTypeReference(){});
Map Map=mapper.readValue(value.get(1.toString(),new-TypeReference(){});
系统输出打印项次(map);
文档。您可以使用任何Json映射框架将字符串反序列化为Java对象。下面的示例显示了如何使用
Jackson
:
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
ObjectMapper mapper = new ObjectMapper();
List<Object> value = mapper.readValue(myString, new TypeReference<List<Object>>() {});
Map<String, Object> map = mapper.readValue(value.get(1).toString(), new TypeReference<Map<String, Object>>() {});
System.out.println(map);
String myString=“[1,\“{\\\”Status\\\”:0,\\\\“InstanceNumber\\\”:9}\”];
ObjectMapper mapper=新的ObjectMapper();
List value=mapper.readValue(myString,newTypeReference(){});
Map Map=mapper.readValue(value.get(1.toString(),new-TypeReference(){});
系统输出打印项次(map);
文档。我建议使用简单的普通库。在
JSONArray
中传递字符串,然后获取JSONObject
。例如,如下所示:
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
JSONArray js = new JSONArray(myString);
System.out.println(js);
JSONObject obj = new JSONObject(js.getString(1));
System.out.println(obj);
输出:
- [1,“{\'状态\”:0,\'实例编号\”:9}”]
- {“状态”:0,“实例编号”:9}
可下载jar:我建议使用简单的普通库。在
JSONArray
中传递字符串,然后获取JSONObject
。例如,如下所示:
String myString = "[1,\"{\\\"Status\\\":0,\\\"InstanceNumber\\\":9}\"]";
JSONArray js = new JSONArray(myString);
System.out.println(js);
JSONObject obj = new JSONObject(js.getString(1));
System.out.println(obj);
输出:
- [1,“{\'状态\”:0,\'实例编号\”:9}”]
- {“状态”:0,“实例编号”:9}
可下载jar:使用gson.jar或json.jar。它们有JsonObject的构造函数,您可以在其中传递字符串。请看这个答案,使用gson.jar或json.jar。它们有JsonObject的构造函数,您可以在其中传递字符串。请看这个答案,很好,很好,很好