Отправляемый вами запрос ..... не JSON.Попробуйте использовать это как валидатор: JSONLint .Забросьте туда свою строку JSON, и она скажет вам, действительна она или нет.В случае выше: email=asdf@hotmail.com&firstname=joe&lastname=smith
.Это определенно не так.
Вы можете написать JSON вручную, например, я бы переписал ваш запрос следующим образом:
{"Email":"asdf@hotmail.com", "firstname":"joe", "lastname":"smith"}
Надеюсь, это поможет.Да, есть библиотеки, которые могут помочь вам в этом (ASPJSON - одна из них), но, если честно, я предпочитаю писать их сам (ASP такой громоздкий) или писать свои собственные функции, потому что я знаю, что могу им доверять.Вот пример кода, который я написал на ASP, который может создать строку JSON из объекта Dictionary.Он также может иметь массивы внутри элементов словаря.К сожалению, он не рекурсивный, поэтому он не может работать с массивами или словарями словарей ... но он работает хорошо для простых входных данных.Назван json_encode после функции 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