Вопрос фон:Преобразование большого потока httpresponse в строку JSON?
Update:
Я все еще не уверен, как идти об извлечении соответствующей информации из этого ответа. Я попытался установить свой тип ответа на JSON, но все равно получаю ответ, как показано ниже. Я принял во внимание то, что было сказано в отношении использования NameValueCollection
, но все еще не видно, как это поможет с таким большим ответом. В идеале я бы хотел, чтобы это отображалось в какой-либо объектной структуре, но не обязательно должно быть JSON.
Вопрос:
Я в настоящее время с помощью метода, PayPal Api «ExpressCheckout», чтобы позволить пользователям платить за предметы на моем тестовом сайте. Ответ HTTP из API обеспечивает большой ответ, содержащий ключевую информацию, мне нужно извлечь - такие, как обращаться покупатели, если платеж был успешным и т.д.
Этот вопрос:
В настоящее время I» m зациклился на том, как работать с ответом. В идеале я бы преобразовал данные в строку JSON, а затем использовал Newtonsoft для сопоставления данных с классами C#, что обеспечило бы легкий доступ к данным. Вот пример HTTPResponse:
TOKEN=EC%2XXXXXXXXXXXXXXXXXR&BILLINGAGREEMENTACCEPTEDSTATUS=0&CHECKOUTSTATUS=PaymentActionNotInitiated&TIMESTAMP=2015%2d01%2d02T21%3a11%3a30Z&CORRELATIONID=ab184fdba7a30&ACK=Success&VERSION=88%2e0&BUILD=14443165&EMAIL=test%40aol%2ecom&PAYERID=3XXXXXXXXXX4N&PAYERSTATUS=verified&BUSINESS=Test%20Biz%27s%20Test%20Store&FIRSTNAME=Joe&LASTNAME=King&COUNTRYCODE=GB&SHIPTONAME=Joe%20King%27s%20Test%20Store&SHIPTOSTREET=1%20Main%20Terrace&SHIPTOCITY=Wolverhampton&SHIPTOSTATE=West%20Midlands&SHIPTOZIP=W12%204LQ&SHIPTOCOUNTRYCODE=GB&SHIPTOCOUNTRYNAME=United%20Kingdom&ADDRESSSTATUS=Confirmed&CURRENCYCODE=GBP&AMT=15%2e56&ITEMAMT=15%2e56&SHIPPINGAMT=0%2e00&HANDLINGAMT=0%2e00&TAXAMT=0%2e00&INSURANCEAMT=0%2e00&SHIPDISCAMT=0%2e00&L_NAME0=ItemOne&L_QTY0=4&L_TAXAMT0=0%2e00&L_AMT0=3%2e89&L_ITEMWEIGHTVALUE0=%20%20%200%2e00000&L_ITEMLENGTHVALUE0=%20%20%200%2e00000&L_ITEMWIDTHVALUE0=%20%20%200%2e00000&L_ITEMHEIGHTVALUE0=%20%20%200%2e00000&PAYMENTREQUEST_0_CURRENCYCODE=GBP&PAYMENTREQUEST_0_AMT=15%2e56&PAYMENTREQUEST_0_ITEMAMT=15%2e56&PAYMENTREQUEST_0_SHIPPINGAMT=0%2e00&PAYMENTREQUEST_0_HANDLINGAMT=0%2e00&PAYMENTREQUEST_0_TAXAMT=0%2e00&PAYMENTREQUEST_0_INSURANCEAMT=0%2e00&PAYMENTREQUEST_0_SHIPDISCAMT=0%2e00&PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false&PAYMENTREQUEST_0_SHIPTONAME=Joe%20King%27s%20Test%20Store&PAYMENTREQUEST_0_SHIPTOSTREET=1%20Main%20Terrace&PAYMENTREQUEST_0_SHIPTOCITY=Wolverhampton&PAYMENTREQUEST_0_SHIPTOSTATE=West%20Midlands&PAYMENTREQUEST_0_SHIPTOZIP=W12%204LQ&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=GB&PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME=United%20Kingdom&PAYMENTREQUEST_0_ADDRESSSTATUS=Confirmed&L_PAYMENTREQUEST_0_NAME0=ItemOne&L_PAYMENTREQUEST_0_QTY0=4&L_PAYMENTREQUEST_0_TAXAMT0=0%2e00&L_PAYMENTREQUEST_0_AMT0=3%2e89&L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0=%20%20%200%2e00000&L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0=%20%20%200%2e00000&L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0=%20%20%200%2e00000&L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0=%20%20%200%2e00000&PAYMENTREQUESTINFO_0_ERRORCODE=0
Если кто-то может дать мне простой способ отображения этих данных к C# объект, который был бы большим.
Чтобы иметь возможность конвертировать ответ на модель с помощью Json.Net, вам необходимо получить PayPal, чтобы отправить вам Json. То, что вы разместили, не Json, так что вам нужно будет вручную разобрать. – zaitsman
Это от вызова на стороне сервера? Вы можете обратиться к: http: // stackoverflow.com/questions/11129286/get-json-from-httpresponse – cjsmith
В чем проблема с этим, как «NameValueCollection» для сопоставления (почему бы «дополнительное» преобразование JSON было «идеальным»)? – EdSF