Android 如何构建JSON请求体?
我正在尝试构建以下JSON请求主体 这是我第一次使用JSON,我正在学习一些例子,但仍在努力 我一直在关注GSON,但想先管理纯JSON,也许是因为一些太小的东西不值得添加GSON库 你能帮我查一下密码吗 谢谢Android 如何构建JSON请求体?,android,json,request,Android,Json,Request,我正在尝试构建以下JSON请求主体 这是我第一次使用JSON,我正在学习一些例子,但仍在努力 我一直在关注GSON,但想先管理纯JSON,也许是因为一些太小的东西不值得添加GSON库 你能帮我查一下密码吗 谢谢 { locations: [ { latLng: { lat: 40.900799, lng: 8.606102 } }, {
{
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。我怀疑它真的改变了什么。我认为这两种观点都不应该被人类看到。人类应该写/读段落。