当前位置: 首页 > 知识库问答 >
问题:

使用Volley将json作为字符串发布到服务器

东方俊杰
2023-03-14

我试图将JSON作为字符串(而不是对象)发送到服务器(在本例中,它是一个WebAPI)。我总是得到一个错误代码500。

当请求被获取时,我成功地从服务器获得响应,并且没有向服务器发送数据。这是通过JsonObjectRequest实现的。

现在,我尝试发送一个以JSON作为字符串的POST请求。为此,我尽力了

  • JSONObject请求
  • StringRequest
  • GsonRequest
  • JsonRequest——在这里,我在requestBody中提供了我的json

在使用volley之前,我使用了其他方法向服务器发送请求,这需要简单地构建一个对象,序列化到json(string)并通过StringEntity传递。

我不明白在请求中应该在哪里传递json。或者我做错了什么。

共有2个答案

越国源
2023-03-14
url = "yoururl"; StringRequest postRequest = new StringRequest(Request.Method.POST, url, 
new Response.Listener<String>() 
{
    @Override
    public void onResponse(String response) {
        // response
        Log.d("Response", response);
    }
}, 
new Response.ErrorListener() 
{
     @Override
     public void onErrorResponse(VolleyError error) {
         // error
         Log.d("Error.Response", response);
   }
} ) {     
@Override
protected Map<String, String> getParams() 
{  
        Map<String, String>  params = new HashMap<String, String>();  
        params.put("your_field", youJSONObject.toString());  

        return params;  
} }; queue.add(postRequest);

试着用这种方式制作帖子(它应该与json obj或数组一起使用)

柯耀
2023-03-14

我不太明白为什么要将JSON作为字符串而不是对象发送。然而,在WebAPIendpoint中,您应该在ApicController的Post方法中放置一个断点,并查看请求是否到达那里。

可能,您正在混合请求的内容类型。如果您想从Volley发送一个简单的字符串请求,您应该只使用StringRequest并向那里发送JSON文本。因此,在WebAPI POST方法中,您必须在不反序列化到JSON的情况下获取字符串。我曾经回答过一个类似的问题,这个字符串请求应该如何在这里提出。

但是,正如我之前所说,我建议始终使用JSON请求,其中包括contentType:“application/JSON”头,并在反序列化的WebAPI中接收请求。

 类似资料:
  • 问题内容: 这是我必须发布的json字符串… 如何发布为JSON? 问题答案: 当然,这是一个重复的问题,但这是完整的示例代码,作为一个长例程。只需复制并粘贴。 首先设置JSON … 接下来,正确异步地将命令和json发送到您的服务器… 最后,(A)使用NSURLConnection正确连接,(B)正确解释从服务器返回给您的信息。 希望它可以节省一些键入的时间!

  • 问题内容: 我想使用POST方法将JSONObject发送到服务器。我已经使用凌空库通过字符串参数来正常工作,但是如果我尝试使用json对象,则在调用json对象时显示错误,这是我的代码 我的错误表单服务器是: 如何解决这个问题呢。我要添加 标题,请检查我的代码是否正确。请给我一个解决这个问题的建议 问题答案: JsonObjectRequest中的第三个参数用于以jsonobject形式传递发布

  • 问题内容: 我想通过齐射库 {“ user_id”:12,“ answers”:{“ 11”:3,“ 12”:4,“ 13”:5}}* 将以下格式的jsonobject发送到服务器 * 如果我想使用 StringRequest, 如何使用POST方法将此JsonObject发送到服务器 问题答案: 您可以使用以下工作示例代码。我测试过了 希望这可以帮助! 更新: 要创建JSONObject作为您的

  • 问题内容: 我正在尝试将JSON对象发布到asp.net Web服务。 我的json看起来像这样: 我正在使用json2.js对我的json对象进行stringyfy。 我正在使用jQuery将其发布到我的Web服务。 我收到以下错误: “无效的JSON原语: 我发现了一堆与此相关的帖子,这似乎是一个非常普遍的问题,但我没有尝试解决此问题。 当萤火虫被发布到服务器时,它看起来像这样: marker

  • 问题内容: 我创建了一个需要发布到jersey的json,这是由grizzly运行的具有REST网络服务的服务器获取需要输出的传入json对象。我正在尝试,但不确定如何正确实施。 我有一个在加载时运行此方法的html文件 问题答案: 要将json发送到服务器,首先必须创建json 这就是构造ajax请求以将json作为post var发送的方式。 json现在将在post var中。

  • 问题内容: 我必须将以下数据发送到URl的Web服务 要发送的数据格式为: 其中,和是键,并具有通过edittext字符串获取的相应值字符串。我在单击按钮时发布此数据。 我没有收到任何回应,因为我试图与我的合作开发者在他的iPhone相同的应用程序iPhone版本中与我的合作开发者进行反检查,因为服务器说用户名和密码无效。 我的课是: 请协助我,我是JSON和Android.Thanx解析的新手。