1

json データを使用する API をまとめようとしていますが、変数の型を保持するのに問題があります。

警告: Node.js を使用しています

与えられたデータ:

{
  id: "string",
  data: [
    {input: [0,1,0], output: [1,1]},
    {input: [1,0,0], output: [1,0]}
  ]
}

そのデータを使用して jquery ajax post リクエストを作成すると、次のように転送されます。

data[0][input][]    0
data[0][input][]    1
data[0][input][]    0
data[0][output][]   1
data[0][output][]   1
data[1][input][]    1
data[1][input][]    0
data[1][input][]    0
data[1][output][]   1
data[1][output][]   0
id                  string

また:id=string&data%5B0%5D%5Binput%5D%5B%5D=0&data%5B0%5D%5Binput%5D%5B%5D=1&data%5B0%5D%5Binput%5D%5B%5D=0&data%5B0%5D%5Boutput%5D%5B%5D=1&data%5B0%5D%5Boutput%5D%5B%5D=1&data%5B1%5D%5Binput%5D%5B%5D=1&data%5B1%5D%5Binput%5D%5B%5D=0&data%5B1%5D%5Binput%5D%5B%5D=0&data%5B1%5D%5Boutput%5D%5B%5D=1&data%5B1%5D%5Boutput%5D%5B%5D=0

私ができる必要があるのは、サーバー側でデータをデコードすることですが、データ内の配列のすべての値が string に変換されています

値の型、つまり「string」または「int」などを保持するための手法はありますか?

現在qs、npm のモジュールを使用して、POST リクエストの本文を解析しています。

4

3 に答える 3

3

JQuerydataは、AJAX 要求のオプションで渡されたオブジェクトをapplication/x-www-form-urlencoded(クエリ文字列と同様に) 形式にシリアル化します。あなたが望むのは、JSON.stringify()あなたのオブジェクトに、結果の文字列を as として渡し、前の回答で述べたようdataに を設定することです。Content-Type

dataTypeオプションは、リクエストの本文をエンコードする方法ではなく、jQuery がリクエストへのレスポンスを処理する方法を指定することを忘れないでください(私はこれにやられました)。

于 2012-05-29T04:01:34.400 に答える
1

これは JSON サーバーであるため、POST 要求で Content-Type: application/json を設定して、文字列ではなくオブジェクトを解析します。オブジェクトはデータ型を保持します。サーバーで req.is('application/json') を使用して、リクエストのタイプが「application/json」であることを確認します。

于 2012-05-28T17:06:35.097 に答える