0
Response.ContentType = "text/plain";

System.IO.Stream inptStrm = Request.InputStream;

byte[] bytes = new byte[inptStrm.Length];

int i = inptStrm.Read(bytes, 0, Convert.ToInt32(inptStrm.Length));

string Input = Encoding.UTF8.GetString(bytes);
JsonTextParser parsor = new JsonTextParser();

JsonObject jsonObj = parsor.Parse(Input);

私の入力文字列は:::::です

{
  "function":"addwhy",

  "lastname":"\"", // this line


}

私のエージェントもそれを UTF8 形式に変換しようとしましたが、私のコードはパーサーに行くときにエラーを生成しました。

4

3 に答える 3

1

次のように、バックスラッシュにする必要があります...

"shopname":"\"\""
"lastname": "\"\"",

この JSON を追加すると...

{
    "function": "addwhy",
    "firstname": "firstname",
    "lastname": "\"\"",
    "dob": "8/8/2001",
    "dop": "testplace",
    "street": "teststreet",
    "nr": "testnr",
    "postcode": "123456",
    "place": "testplace",
    "telephone": "telephone",
    "incidentid": "1",
    "Aangehoudendoor": "testAangehoudendoor",
    "Waar": "testWaar",
    "DayTime": "Monday,
    6: 48PM",
    "createdby": "1",
    "updatedby": "0",
    "shopId": "1",
    "witneesid": "1",
    "op": "",
    "om": "testom"
}

..JSONLintバリデーターに渡すと、検証が成功したことがわかります。

于 2013-09-18T12:29:23.107 に答える
0

あなたのデータは間違っています。クライアントは、JSON を作成する前に引用符をエスケープする必要があります。

JSON.stringifyJavaScript に 使用するか、Objective-C のエスケープ引用に従います。

于 2013-09-18T12:50:17.733 に答える
0

解析でエラーが発生する代わりに、応答の引用符に注意する必要があります (つまり、不正な形式の JSON 応答を回避します)。次のように引用してみてください。

  ....
  ....
  "lastname":"""", 
  "dob":"8/8/2001",
  "dop":"testplace",
  ....
  ....
于 2013-09-18T12:53:00.780 に答える