Yêu cầu bạn đang gửi không phải là JSON. Hãy thử sử dụng điều này làm người xác thực: JSONLint. Chuck chuỗi JSON của bạn vào đó và nó sẽ cho bạn biết nếu nó hợp lệ hay không. Trong trường hợp trên: [email protected]&firstname=joe&lastname=smith
. Nó chắc chắn là không.
Bạn có thể viết JSON bằng tay, ví dụ tôi sẽ viết lại truy vấn của bạn như sau:
{"Email":"[email protected]", "firstname":"joe", "lastname":"smith"}
Tôi hy vọng rằng sẽ giúp. Có, có những thư viện có thể giúp bạn làm điều này (ASPJSON là một trong số họ) nhưng thành thật mà nói tôi thích viết chúng ra (ASP rất khó sử dụng) hoặc viết các hàm của riêng tôi bởi vì tôi biết rằng tôi có thể tin tưởng chúng. Dưới đây là một đoạn mã ví dụ mà tôi đã viết trong ASP có thể tạo chuỗi JSON từ một đối tượng Dictionary. Nó cũng có thể có các mảng bên trong các phần tử từ điển. Thật không may nó không đệ quy vì vậy nó không thể làm mảng của mảng hoặc từ điển của từ điển ... nhưng nó hoạt động yên tĩnh tốt cho đầu vào đơn giản. Được đặt tên là json_encode sau hàm PHP.
Function json_encode(ByVal dic)
ret = "{"
If TypeName(dic) = "Dictionary" Then
For each k in dic
Select Case VarType(dic.Item(k))
Case vbString
ret = ret & """" & k & """:""" & dic.Item(k) & ""","
Case Else
If VarType(dic.Item(k)) > vbArray Then
ret = ret & """" & k & """:["
For x = 0 to Ubound(dic.Item(k), 1)
ret = ret & """" & dic.Item(k)(x) & ""","
Next
ret = Left(ret, Len(ret) - 1) 'Trim trailing comma
ret = ret & "],"
Else
ret = ret & """" & k & """:""" & dic.Item(k) & ""","
End If
End Select
Next
ret = Left(ret, Len(ret) - 1) 'Trim trailing comma
End If
ret = ret & "}"
json_encode = ret
End Function
Bugget, tôi đã tải xuống phiên bản cũ hơn, nhưng tôi không thấy cách nó có thể được sử dụng để định dạng yêu cầu JSON. Tôi sẽ xem xét lại. – user1048348
@ user1048348 Đó là chính xác những gì nó nhìn vào các ví dụ trong các trang Wiki. Tuy nhiên, câu trả lời của bạn có thể hữu ích hơn nếu bạn đã bao gồm một mẫu mã nhỏ cho OP, thay vì chỉ là một liên kết. – Lankymart