Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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 如何构建JSON请求体?_Android_Json_Request - Fatal编程技术网

Android 如何构建JSON请求体?

Android 如何构建JSON请求体?,android,json,request,Android,Json,Request,我正在尝试构建以下JSON请求主体 这是我第一次使用JSON,我正在学习一些例子,但仍在努力 我一直在关注GSON,但想先管理纯JSON,也许是因为一些太小的东西不值得添加GSON库 你能帮我查一下密码吗 谢谢 { locations: [ { latLng: { lat: 40.900799, lng: 8.606102 } }, {

我正在尝试构建以下JSON请求主体

这是我第一次使用JSON,我正在学习一些例子,但仍在努力

我一直在关注GSON,但想先管理纯JSON,也许是因为一些太小的东西不值得添加GSON库

你能帮我查一下密码吗

谢谢

{
   locations:
   [
      {
         latLng:
         {
            lat: 40.900799,
            lng: 8.606102
         }
      },
      {
         latLng:
         {
            lat: 42.900799,
            lng: 9.606102
         }
      }
   ]
}
编辑:


是我正在尝试使用的Web服务和请求示例。

JSON表示法要求字段名周围使用“”。仅当值是字符串时,才应将其包装

{
 "locations":
   [
      {
         "latLng":
         {
            "lat": 40.900799,
            "lng": 8.606102
         }
      },
      {
         "latLng":
         {
            "lat": 42.900799,
            "lng": 9.606102
         }
      }
   ]
}
如果您使用JSON是正确的,您可以使用

JSON表示法要求在字段名周围使用“”。仅当值是字符串时,才应将其包装

{
 "locations":
   [
      {
         "latLng":
         {
            "lat": 40.900799,
            "lng": 8.606102
         }
      },
      {
         "latLng":
         {
            "lat": 42.900799,
            "lng": 9.606102
         }
      }
   ]
}
如果您使用JSON是正确的,您可以使用 使用json对象。 做那样的事。 不要手工编写json,很容易出错

public JSON() throws JSONException
{
    JSONArray locArr=new JSONArray();
    locArr.put(createLatLng(40.900799, 8.606102));
    locArr.put(createLatLng(42.900799, 9.606102));
    JSONObject main=new JSONObject();
    main.put("locations", locArr);
    Log.d("JSON",main.toString());      
}


public JSONObject createLatLng(double lat, double lng) throws JSONException
{
    JSONObject latLng=new JSONObject();
    latLng.put("lat",lat);
    latLng.put("lon",lng);
    JSONObject latLngWrap=new JSONObject();
    latLngWrap.put("latLng",latLng);
    return latLngWrap;
}
使用json对象。 做那样的事。 不要手工编写json,很容易出错

public JSON() throws JSONException
{
    JSONArray locArr=new JSONArray();
    locArr.put(createLatLng(40.900799, 8.606102));
    locArr.put(createLatLng(42.900799, 9.606102));
    JSONObject main=new JSONObject();
    main.put("locations", locArr);
    Log.d("JSON",main.toString());      
}


public JSONObject createLatLng(double lat, double lng) throws JSONException
{
    JSONObject latLng=new JSONObject();
    latLng.put("lat",lat);
    latLng.put("lon",lng);
    JSONObject latLngWrap=new JSONObject();
    latLngWrap.put("latLng",latLng);
    return latLngWrap;
}

扩展maciekczwa的答案。JSON(与XML不同)并不是真正意义上的人眼。很快就很难看到一个对象从哪里开始和结束,以及什么在包裹什么。使用他的示例创建您的主JSON对象,然后用您需要的任何对象填充它。完成后,您可以非常轻松地将其转换为字符串以进行传输,而无需查看它,这样做意味着不必担心需要用什么类型的引号等包装什么标签


eskalera是100%正确的。JSON要求所有字段都用引号括起来(关于它们是否可以是单引号还是*的规则必须是双引号,这在不同的实现中有所不同,但同样,这仅在手动构建JSON时才相关,因为只有在非常简单的情况下才应该这样做(即使是这样,也可能不是).

扩展maciekczwa的answer.JSON(与XML不同)不是真的要用人的眼睛来观察。很快就很难看到一个对象从哪里开始和结束,以及什么在包装什么。用他的例子来创建你的主JSON对象,然后用你需要的任何对象填充它。当你全部完成后,你可以很容易地将它转换为字符串进行传输,而不必这样做看看它,这样做意味着不必担心什么标签需要包装在什么样的引号中等等


eskalera是100%正确的。JSON要求所有字段都用引号括起来(关于它们是否可以是单引号或*的规则必须是双引号的规则因实现而异,但同样,这仅在手动构建JSON时才相关,因为您应该只在非常简单的实例中这样做(即使如此……可能也不会)。

Thx@Botis,请查看我的编辑,它引用了Web服务和JSON请求示例。任何字段周围都没有“”符号。Thx@Botis,请查看我的编辑,它引用了Web服务和JSON请求示例。没有“”事实上,JSON被设计成比XML更容易被人阅读。事实确实如此。@AlbeyAmakiir,这显然是一件非常荒谬的事情。我碰巧喜欢JSON,而且更喜欢它而不是XML,但无论设计意图是什么,我都会认为看JSON(特别是在去掉空白的情况下)几乎是无用的。一个由开括号和闭括号组成的森林,没有明确指示哪个闭括号匹配哪个开括号。至少在xml中,节点有名称,所以很容易看到给定节点的结束时间。你怎么能认真地说JSON更容易用人眼阅读?啊,我知道我不应该在en中添加主观部分d、 我一次又一次地听说XML不应该被用于人们应该阅读的地方。我想我不应该对不同的观点感到惊讶。但是,不管怎样,我的评论的重点是事实。它被设计成比XML更具可读性,不管它是否成功。对,好吧……这就是我说它是一个荒谬的论据(事实上它是主观的)。我很欣赏factoid。我怀疑它真的改变了什么。我认为两者都不应该被人类看到。人类应该写/读段落。事实上,JSON被设计成比XML更容易被人类阅读。确实如此。@AlbeyAmakiir,这显然是一件非常荒谬的事情。我碰巧喜欢JSON,而且更喜欢它o XML,但不管设计意图是什么,我认为查看JSON(尤其是删除了空白)几乎是无用的。一个由开括号和闭括号组成的森林,没有明确指示哪个闭括号匹配哪个开括号。至少在xml中,节点有名称,所以很容易看到给定节点的结束时间。你怎么能认真地说JSON更容易用人眼阅读?啊,我知道我不应该在en中添加主观部分d、 我一次又一次地听说XML不应该被用于人们应该阅读的地方。我想我不应该对不同的观点感到惊讶。但是,不管怎样,我的评论的重点是事实。它被设计成比XML更具可读性,不管它是否成功。对,好吧……这就是我说它是一个荒谬的论据(事实上它是主观的)。我欣赏factoid。我怀疑它真的改变了什么。我认为这两种观点都不应该被人类看到。人类应该写/读段落。