从android向C#web服务发送json字符串

从android向C#web服务发送json字符串,c#,android,json,service,web,C#,Android,Json,Service,Web,我正在尝试用json c#web服务与我的android应用程序通信 我必须从web服务中检索json对象,但无法将json对象发送到web服务 这是我的web服务代码 [WebMethod] public void recibePosicion(string json_cad) { JavaScriptSerializer jss = new JavaScriptSerializer(); Posicion nueva_posicion =

我正在尝试用json c#web服务与我的android应用程序通信 我必须从web服务中检索json对象,但无法将json对象发送到web服务

这是我的web服务代码

 [WebMethod]
    public void recibePosicion(string json_cad)
    {

        JavaScriptSerializer jss = new JavaScriptSerializer();
        Posicion nueva_posicion = jss.Deserialize<Posicion>(json_cad); 
        PosicionDAO posicion_dao = new PosicionDAO();
        posicion_dao.InsertaPosicion(nueva_posicion);


    }
我的状态代码是500。 相反,如果我将web方法更改为

公共无效recibePosicion()

我可以调用服务,但我不知道如何获取json数据

请告诉我解决这个问题的任何建议


谢谢。

您的代码中几乎没有错误:

  • WebMethod必须是静态的
  • 您希望在webmethod中获取json对象,但您的webmethod 参数的类型为
    字符串
    ,请将其改为
    对象

    [WebMethod]
    public static void recibePosicion(object json_cad){
    
        JavaScriptSerializer jss = new JavaScriptSerializer();
        Posicion nueva_posicion = jss.Deserialize<Posicion>(json_cad); 
        PosicionDAO posicion_dao = new PosicionDAO();
        posicion_dao.InsertaPosicion(nueva_posicion);
    
    }
    
    [WebMethod]
    公共静态void recibeposion(对象json_cad){
    JavaScriptSerializer jss=新的JavaScriptSerializer();
    Posicion nueva_Posicion=jss.Deserialize(json_cad);
    PosicionDAO posicion_dao=新的PosicionDAO();
    posicion_-dao.InsertaPosicion(nueva_-posicion);
    }
    

  • 服务器引发了什么异常?1。将
    static
    添加到asp.net WebMethod
    public static void recibeposion(字符串json_cad)
    2。使用
    json.toString()
    3时得到的字符串。调试您的程序问题解决了吗?嗨,编码员,我尝试过将方法设置为静态并将参数类型更改为object,但我一直在客户端接收statusCode 500,服务器没有收到调用。当我执行json.toString时,我发送的cad看起来如下:{“y”:“200”,“idPosicion”:“-1”,“x”:“100”}尝试将webmethod签名更改为
    public static void recibeposion(字符串y,字符串idPosicion,字符串x)
    并直接将其设置为
    Posicion
    尝试更改参数的顺序
    public static void recibeposion(字符串idPosicion,字符串x,字符串y)
    ,编辑后webmethod的代码是什么?
    [WebMethod]
    public static void recibePosicion(object json_cad){
    
        JavaScriptSerializer jss = new JavaScriptSerializer();
        Posicion nueva_posicion = jss.Deserialize<Posicion>(json_cad); 
        PosicionDAO posicion_dao = new PosicionDAO();
        posicion_dao.InsertaPosicion(nueva_posicion);
    
    }