Loading ...
Sorry, an error occurred while loading the content.
 

Re: [json] Escape Characters added in C# POST of JSON string to PHP Server

Expand Messages
  • Stephan Beal
    ... The server shows the following result: [spt] = ... How are you reading this variable server-side? If you post form-urlencoded data (as you are above) then
    Message 1 of 4 , Oct 16, 2011
      On Sun, Oct 16, 2011 at 7:15 PM, dickwmsinnc <w3oa@...> wrote:

      > **
      >
      > My json string is:
      > {"e":"W3OA","h":"bb943d46","s":[["24898.1","K2TQC","1","19","24","False"]],"t":"s"}
      >
      The server shows the following result: [spt] =>
      > {\\"e\\":\\"W3OA\\",\\"h\\":\\"bb943d46\\",\\"s\\":[[\\"24898.1\\",\\"K2TQC\\",\\"1\\",\\"19\\",\\"24\\",\\"False\\"]],\\"t\\":\\"s\\"}
      >
      > If I don't precede the json string with "spt=" the server gets an empty
      > string.
      >

      How are you reading this variable server-side? If you post form-urlencoded
      data (as you are above) then $_POST should work. However, you are simply
      using:

      string postData = "spt=" + json;

      without actually encoding json as form-urlencoded (not that i can see from
      your code, anyway), so i'm curious as to any of it comes out right.

      If you want to post raw, unencoded JSON then:

      a) Set the request content-type of application/json
      b) POST it as a plain/unencoded string without the leading spt= part.
      c) on the server you can do:

      $jsonString = @file_get_contents("php://input");
      $jsonObj = json_decode($jsonString);

      That way is much more efficient than form-urlencoding JSON, which is an
      unnecessary step for both the client and server when dealing solely with
      JSON data.

      --
      ----- stephan beal
      http://wanderinghorse.net/home/stephan/


      [Non-text portions of this message have been removed]
    • dickwmsinnc
      Thank you for your quick response. The server operator is away for a few days. We will try your suggestion when he gets back and report the results here.
      Message 2 of 4 , Oct 16, 2011
        Thank you for your quick response. The server operator is away for a few days. We will try your suggestion when he gets back and report the results here.

        Dick

        --- In json@yahoogroups.com, Stephan Beal <sgbeal@...> wrote:
        >
        > On Sun, Oct 16, 2011 at 7:15 PM, dickwmsinnc <w3oa@...> wrote:
        >
        > > **
        > >
        > > My json string is:
        > > {"e":"W3OA","h":"bb943d46","s":[["24898.1","K2TQC","1","19","24","False"]],"t":"s"}
        > >
        > The server shows the following result: [spt] =>
        > > {\\"e\\":\\"W3OA\\",\\"h\\":\\"bb943d46\\",\\"s\\":[[\\"24898.1\\",\\"K2TQC\\",\\"1\\",\\"19\\",\\"24\\",\\"False\\"]],\\"t\\":\\"s\\"}
        > >
        > > If I don't precede the json string with "spt=" the server gets an empty
        > > string.
        > >
        >
        > How are you reading this variable server-side? If you post form-urlencoded
        > data (as you are above) then $_POST should work. However, you are simply
        > using:
        >
        > string postData = "spt=" + json;
        >
        > without actually encoding json as form-urlencoded (not that i can see from
        > your code, anyway), so i'm curious as to any of it comes out right.
        >
        > If you want to post raw, unencoded JSON then:
        >
        > a) Set the request content-type of application/json
        > b) POST it as a plain/unencoded string without the leading spt= part.
        > c) on the server you can do:
        >
        > $jsonString = @file_get_contents("php://input");
        > $jsonObj = json_decode($jsonString);
        >
        > That way is much more efficient than form-urlencoding JSON, which is an
        > unnecessary step for both the client and server when dealing solely with
        > JSON data.
        >
        > --
        > ----- stephan beal
        > http://wanderinghorse.net/home/stephan/
        >
        >
        > [Non-text portions of this message have been removed]
        >
      • dickwmsinnc
        Your suggestions are just what we needed to get going. We implemented them and are now sending and receiving JSON strings just fine. Thank you for your help.
        Message 3 of 4 , Oct 19, 2011
          Your suggestions are just what we needed to get going. We implemented them and are now sending and receiving JSON strings just fine.

          Thank you for your help.

          Dick

          --- In json@yahoogroups.com, Stephan Beal <sgbeal@...> wrote:
          >
          > On Sun, Oct 16, 2011 at 7:15 PM, dickwmsinnc <w3oa@...> wrote:
          >
          > > **
          > >
          > > My json string is:
          > > {"e":"W3OA","h":"bb943d46","s":[["24898.1","K2TQC","1","19","24","False"]],"t":"s"}
          > >
          > The server shows the following result: [spt] =>
          > > {\\"e\\":\\"W3OA\\",\\"h\\":\\"bb943d46\\",\\"s\\":[[\\"24898.1\\",\\"K2TQC\\",\\"1\\",\\"19\\",\\"24\\",\\"False\\"]],\\"t\\":\\"s\\"}
          > >
          > > If I don't precede the json string with "spt=" the server gets an empty
          > > string.
          > >
          >
          > How are you reading this variable server-side? If you post form-urlencoded
          > data (as you are above) then $_POST should work. However, you are simply
          > using:
          >
          > string postData = "spt=" + json;
          >
          > without actually encoding json as form-urlencoded (not that i can see from
          > your code, anyway), so i'm curious as to any of it comes out right.
          >
          > If you want to post raw, unencoded JSON then:
          >
          > a) Set the request content-type of application/json
          > b) POST it as a plain/unencoded string without the leading spt= part.
          > c) on the server you can do:
          >
          > $jsonString = @file_get_contents("php://input");
          > $jsonObj = json_decode($jsonString);
          >
          > That way is much more efficient than form-urlencoding JSON, which is an
          > unnecessary step for both the client and server when dealing solely with
          > JSON data.
          >
          > --
          > ----- stephan beal
          > http://wanderinghorse.net/home/stephan/
          >
          >
          > [Non-text portions of this message have been removed]
          >
        Your message has been successfully submitted and would be delivered to recipients shortly.