相关疑难解决方法(0)

如何在Retrofit请求的主体中发布原始整个JSON?

这个问题可能以前曾被问过,但没有得到明确答复.如何在Retrofit请求的主体内发布原始整个JSON?

看到类似的问题在这里.或者这个答案是否正确,它必须是url编码形式并作为字段传递?我真的希望不会,因为我所连接的服务只是期待帖子正文中的原始JSON.它们未设置为查找JSON数据的特定字段.

我只是想与澄清这一restperts一劳永逸.一个人回答不使用Retrofit.另一个不确定语法.另一个人认为可以这样做,但只有当它的形式url编码并放在一个字段中时(在我的情况下这是不可接受的).不,我无法为我的Android客户端重新编码所有服务.是的,在主要项目中发布原始JSON而不是将JSON内容作为字段属性值传递是很常见的.让我们做对了,继续前进吧.有人可以指向显示如何完成此操作的文档或示例吗?或者提供可以/不应该完成的有效理由.

更新:我可以100%确定地说一件事.你可以在谷歌的排球中做到这一点.它是内置的.我们可以在Retrofit中做到这一点吗?

rest android http-post retrofit android-json

259
推荐指数
15
解决办法
29万
查看次数

使用Gson时会出现奇怪的"nameValuePairs"键

我正在尝试Object从其字段重建一个(我将字段作为JSONObject),如下所示:

JSONObject jObj = new JSONObject();  

JSONObject jObj1 = new JSONObject(); 
JSONObject jObj2 = new JSONObject(); 

JSONObject jObj21 = new JSONObject(); 
JSONObject jObj22 = new JSONObject(); 

jObj1.put("jObj11", "value11");
jObj1.put("jObj12", "value12");


jObj21.put("jObj211", "value211"); // level 2 
jObj21.put("jObj212", "value212");
jObj21.put("jObj213", "value213");

jObj22.put("jObj221", "value221");
jObj22.put("jObj222", "value222");
jObj22.put("jObj223", "value223");

jObj2.put("jObj21", jObj21);  // level 1 
jObj2.put("jObj22", jObj22);

jObj.put("jObj1", jObj1); // level 0 
jObj.put("jObj2", jObj2);
Run Code Online (Sandbox Code Playgroud)

我使用这些线来获取Json Obeject

GsonBuilder builder = new GsonBuilder();
Gson gSon = builder.create();
gSon.toJSon(jObj);
Run Code Online (Sandbox Code Playgroud)

问题是,当我分析主要的Object(jObj)与GSON,我发现一个名为额外的键"nameValuePairs".那么为什么我拿到这把钥匙呢? …

java android json gson

19
推荐指数
3
解决办法
8149
查看次数

标签 统计

android ×2

android-json ×1

gson ×1

http-post ×1

java ×1

json ×1

rest ×1

retrofit ×1