Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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
android/java中JSON到多维数组_Java_Android_Arrays_Json_Multidimensional Array - Fatal编程技术网

android/java中JSON到多维数组

android/java中JSON到多维数组,java,android,arrays,json,multidimensional-array,Java,Android,Arrays,Json,Multidimensional Array,我正在考虑为自己创建一个库,处理常见的互联网相关功能。到目前为止,我已经有了HTTPGET和POST函数,现在我正在研究开发一个一刀切的JSON解析函数,该函数将它作为字符串接收的JSON转换为可以搜索的多维关联数组 我查看了stackoverflow,发现它看起来非常有用,只是代码设计得非常具体。org.json.*中是否有一个非常方便的函数,可以让您将json字符串转换为多维关联数组,我可以在类外返回和操作该数组 谢谢, 约翰 另外,我应该提到的是,我以前很少有java方面的经验——我的内心

我正在考虑为自己创建一个库,处理常见的互联网相关功能。到目前为止,我已经有了HTTPGET和POST函数,现在我正在研究开发一个一刀切的JSON解析函数,该函数将它作为字符串接收的JSON转换为可以搜索的多维关联数组

我查看了stackoverflow,发现它看起来非常有用,只是代码设计得非常具体。org.json.*中是否有一个非常方便的函数,可以让您将json字符串转换为多维关联数组,我可以在类外返回和操作该数组

谢谢, 约翰


另外,我应该提到的是,我以前很少有java方面的经验——我的内心是一名PHP开发人员。

我认为没有必要编写自己的JSON库。Android提供了很多您可以使用的功能,或者您可以使用GSON,我在这方面取得了巨大的成功:

看看这有多容易:

// Serialise
String[] array = {"One","Two","Three"};
String json = new Gson().toJson(array);

// De-serialise
String[] array = new Gson().fromJson(json,String[].class);
GSON可以很好地处理所有类,包括您自己的类对象、数组和一些集合


需要注意的是,GSON库不支持Microsoft web服务器上API使用的日期格式,但在这些情况下,我只是将数据向下拉入字符串变量,然后使用自己的解析在类中处理日期。

多维关联数组的优点是什么为了一个JSONObject?我不太确定。作为一名PHP开发人员,我认为一旦数据从JSON中提取出来,数组就更有用了?在Java中很少使用数组。如果有什么的话,那就是一张地图之类的东西。然而,在你尝试创建一个“更好”的界面之前,为什么不学习如何使用现有的界面,看看它是否适合你呢。标准的JSON接口非常简单。谢谢你,我目前一直在使用android的产品,但将来我可能会使用GSON来获取更复杂的东西。我想我之所以尝试编写JSON的包装器,是因为我试图尽可能地保持一切面向对象,但我没有意识到的是,除了将代码从一个地方移动到另一个地方之外,它没有实现任何特定的好处。GSON实现得非常好,它甚至可以处理分层类结构,所以只要向它抛出一个对象,它就会序列化它。太棒了。日期格式问题很烦人(没有JSON日期格式标准,所以不同的供应商使用不同的格式),但我只知道与Microsoft web server API不兼容,所以实际问题可能有限。OOP很好,但总是好的,为了避免重复发明轮子,专注于使应用程序更好。