Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何将字符串转换为JSON对象?_Java_Android - Fatal编程技术网

在Java中,如何将字符串转换为JSON对象?

在Java中,如何将字符串转换为JSON对象?,java,android,Java,Android,字符串如下所示: [{"Id":287,"Name":"aaaaaaaa","ProjectType":"GP"}, ... snip ...] 这个字符串还不是JSON,因为它是一个字符串,即使它是作为JSON提供的 我正在尝试将其转换为一种可以在Java应用程序中使用的结构 有人能帮帮我吗。到目前为止,我发现的例子对我来说并不适用。基本上,我希望能够遍历列表中的词典 我最近一次尝试将字符串转换为json,是这样的: JSONObject data = new JSONObject(json

字符串如下所示:

[{"Id":287,"Name":"aaaaaaaa","ProjectType":"GP"}, ... snip ...]
这个字符串还不是JSON,因为它是一个字符串,即使它是作为JSON提供的

我正在尝试将其转换为一种可以在Java应用程序中使用的结构

有人能帮帮我吗。到目前为止,我发现的例子对我来说并不适用。基本上,我希望能够遍历列表中的词典

我最近一次尝试将字符串转换为json,是这样的:

JSONObject data = new JSONObject(json_string);
但是,这返回了
null


谢谢。

看看如何使用Gson库——它非常擅长处理这类事情。如果您使用泛型实现它,您可以创建一组序列化程序,这将使您能够很好地从移动API导入数据。如果您想要更多关于示例实现的信息,请告诉我

资料来源:

文件:

看看如何使用Gson库——它非常擅长处理这类事情。如果您使用泛型实现它,您可以创建一组序列化程序,这将使您能够很好地从移动API导入数据。如果您想要更多关于示例实现的信息,请告诉我

资料来源:

文件:

我建议您同意Gson的答案。根据我的经验,它更快,也同样容易使用

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
Map<String, Object> myMap = mapper.readValue(myJSONString, Map.class);
ObjectMapper mapper=new ObjectMapper();//可以在全球范围内重复使用、共享
Map myMap=mapper.readValue(myJSONString,Map.class);

在您的例子中,JSON是一个列表(我不确定作为“root”元素是否合法),您需要执行
list myList=mapper.readValue(myJSONString,list.class)

我建议,按照Gson的答案。根据我的经验,它更快,也同样容易使用

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
Map<String, Object> myMap = mapper.readValue(myJSONString, Map.class);
ObjectMapper mapper=new ObjectMapper();//可以在全球范围内重复使用、共享
Map myMap=mapper.readValue(myJSONString,Map.class);

在您的例子中,JSON是一个列表(我不确定作为“root”元素是否合法),您需要执行
list myList=mapper.readValue(myJSONString,list.class)

发布您想要在json对象中转换的完整字符串您导入了哪个JSONObject?是否确定字符串以方括号开头?@JonathanGarcía这意味着该对象是一个数组,它是有效的json AFAIK。然后我认为应该使用JSONArray,JSONObject of insteadpost您想在json object中转换的完整字符串您导入了哪个JSONObject?确定字符串以方括号开头吗?@JonathanGarcía这意味着该对象是一个数组,它是有效的json AFAIK。然后我认为应该使用JSONArray,而不是JSONObject