Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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,好吧,如果有人问我这个问题,我真的很抱歉,但我似乎找不到任何好的帮助 我使用PHP和Codeigniter为自己的android应用程序编写了一个小API。它通过GET请求工作,所以我会向它发送一些信息,它会返回一些信息。当我向它发送登录请求时,我希望它验证用户数据,如果正确,则返回用户的凭据(uid、电子邮件等)。所有这些信息都可以作为格式化的XML或JSON数组返回。我的问题是,在Java中哪一个更容易使用,您能帮我举一个简单的例子吗 非常感谢您的帮助 编辑: 请求的代码

好吧,如果有人问我这个问题,我真的很抱歉,但我似乎找不到任何好的帮助

我使用PHP和Codeigniter为自己的android应用程序编写了一个小API。它通过GET请求工作,所以我会向它发送一些信息,它会返回一些信息。当我向它发送登录请求时,我希望它验证用户数据,如果正确,则返回用户的凭据(uid、电子邮件等)。所有这些信息都可以作为格式化的XML或JSON数组返回。我的问题是,在Java中哪一个更容易使用,您能帮我举一个简单的例子吗

非常感谢您的帮助

编辑:

请求的代码

                // Parse JSON array
                JSONObject obj = (JSONObject) JSONValue.parse(response);
                String uid = (String) obj.get("uid");
                String email = (String) obj.get("email");

根据我的经验,JSON更容易使用

这是一些XML格式的数据:

<book>
    <person>
      <first>Kiran</first>
      <last>Pai</last>
      <age>22</age>
    </person>
    <person>
      <first>Bill</first>
      <last>Gates</last>
      <age>46</age>
    </person>
    <person>
      <first>Steve</first>
      <last>Jobs</last>
      <age>40</age>
    </person>
</book>
以及读取JSON的示例代码:

JSONObject obj = (JSONObject) JSONValue.parse(jsonString);
JSONArray arr = (JSONArray) obj.get("book");
for (int i = 0; i < arr.size(); i++) {
    JSONObject person = (JSONObject) arr.get(i);
    String first = (String) person.get("first");
    String last = (String) person.get("last");
    String age = (String) person.get("age");
    System.out.println("Person " + i +" : first = "+ first + ", last = " + last + ", age = " + age);
}
jsonobjectobj=(JSONObject)JSONValue.parse(jsonString);
JSONArray arr=(JSONArray)obj.get(“book”);
对于(int i=0;i
从这两段示例代码中,您可以看到JSON更易于读取、写入和格式化


XML更常用作交换信息的行业标准,而JSON则常用于通过基于REST的API交换信息。

根据我的经验,JSON更容易使用

这是一些XML格式的数据:

<book>
    <person>
      <first>Kiran</first>
      <last>Pai</last>
      <age>22</age>
    </person>
    <person>
      <first>Bill</first>
      <last>Gates</last>
      <age>46</age>
    </person>
    <person>
      <first>Steve</first>
      <last>Jobs</last>
      <age>40</age>
    </person>
</book>
以及读取JSON的示例代码:

JSONObject obj = (JSONObject) JSONValue.parse(jsonString);
JSONArray arr = (JSONArray) obj.get("book");
for (int i = 0; i < arr.size(); i++) {
    JSONObject person = (JSONObject) arr.get(i);
    String first = (String) person.get("first");
    String last = (String) person.get("last");
    String age = (String) person.get("age");
    System.out.println("Person " + i +" : first = "+ first + ", last = " + last + ", age = " + age);
}
jsonobjectobj=(JSONObject)JSONValue.parse(jsonString);
JSONArray arr=(JSONArray)obj.get(“book”);
对于(int i=0;i
从这两段示例代码中,您可以看到JSON更易于读取、写入和格式化


XML更常用作交换信息的行业标准,而JSON常用于通过基于REST的API交换信息。

有关JSON,请参阅@user949300您的链接格式不正确。我会查看一下,谢谢您的回复@经过无数次的尝试,我终于做对了。“-)关于JSON,请参阅@user949300您的链接格式不正确。我会查看一下,谢谢您的回复!@ThomasW经过无数次尝试,我终于找到了正确的答案。”-)这是一个很好的答案,谢谢!有人告诉我,
JSONValue
无法解析。我是否缺少依赖项?好吧,我找到了,必须下载json simple库。是的,json simple或json smart可以:)好吧,当我得到一个用户时,它返回一个带有该用户属性(即uid、用户名等)的一维数组。所以我在这里使用你的代码。问题是,
obj.get()
抛出异常。因为我在做类似于
stringuid=obj.get(“uid”).toString()的事情,对于每个属性,我不希望对每个属性都进行尝试。有没有办法完全避免这种异常?这种错误是如何发生的?如果属性不存在,我相信它返回null。顺便说一句,如果你希望它返回一个字符串,将它转换成字符串似乎是一个更好的主意。这是一个很好的答案,谢谢!有人告诉我,
JSONValue
无法解析。我是否缺少依赖项?好吧,我找到了,必须下载json simple库。是的,json simple或json smart可以:)好吧,当我得到一个用户时,它返回一个带有该用户属性(即uid、用户名等)的一维数组。所以我在这里使用你的代码。问题是,
obj.get()
抛出异常。因为我在做类似于
stringuid=obj.get(“uid”).toString()的事情,对于每个属性,我不希望对每个属性都进行尝试。有没有办法完全避免这种异常?这种错误是如何发生的?如果属性不存在,我相信它返回null。顺便说一句,如果您希望它返回字符串,那么将其转换为字符串似乎是一个更好的主意。