gpt4 book ai didi

c# - 在 C# 中获取 JSON POST 数据

转载 作者:行者123 更新时间:2023-11-30 16:42:43 27 4
gpt4 key购买 nike

我是 C# 中的新手。
如何获取 JSON POST 数据?我有一项将 JSON 数据发布到我的 asp.net 的服务。

这里是数据:

{
"transaction_time": "2017-09-18 09:47:54",
"transaction_status": "capture",
"transaction_id": "b7c8cfa9-b706-4a9d-b70d-8d70149145bd",
"status_message": "Veritrans payment notification",
"status_code": "200",
"signature_key": "b22b5740bf2c587ba949ae5343757a66e5a75c45b9377b9ee891909bbd8977bb2caea8e0549bf09b5040b22f54efc76aa8beb31e321f9d600f267b23f37b30ae",
"payment_type": "credit_card",
"order_id": "LUHUMMLWOT",
"masked_card": "401111-1112",
"gross_amount": "326000.00",
"fraud_status": "accept",
"bank": "mandiri",
"approval_code": "1505702878234"
}

据我所知,我可以使用 WebMethod 捕获所有数据,创建一个方法然后初始化每个 JSON 对象的参数,但是每个帖子,它们发送不同的 JSON。所以我必须获取所有 JSON 并将其动态解析为变量。

请帮忙:)

谢谢~

最佳答案

   **Pleas do it step by step as below
in Your Asp.net Java script using**



var yourPostJsonObject={
"transaction_time": "2017-09-18 09:47:54",
"transaction_status": "capture",
"transaction_id": "b7c8cfa9-b706-4a9d-b70d-8d70149145bd",
"status_message": "Veritrans payment notification",
"status_code": "200",
"signature_key": "b22b5740bf2c587ba949ae5343757a66e5a75c45b9377b9ee891909bbd8977bb2caea8e0549bf09b5040b22f54efc76aa8beb31e321f9d600f267b23f37b30ae",
"payment_type": "credit_card",
"order_id": "LUHUMMLWOT",
"masked_card": "401111-1112",
"gross_amount": "326000.00",
"fraud_status": "accept",
"bank": "mandiri",
"approval_code": "1505702878234"
}


$.ajax({
type: 'POST',
dataType: 'json',
cache: false,
url: 'SendTransaction', // webmethod or web serivces URL
data: {jsonReceiverInCsharpObjecName:JSON.stringify(yourPostJsonObject)},
success: function (response) {
alert('scucess')
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error - ' + errorThrown);
}
});

在 Asp.net Code behind 或 webservice 中

using Newtonsoft.Json;
using System.Dynamic;
using Newtonsoft.Json.Converters;

public bool SendTransaction(string jsonReceiverInCsharpObjecName)
{
dynamic dynData =JsonConvert.DeserializeObject<ExpandoObject>
(jsonReceiverInCsharpObjecName, new ExpandoObjectConverter());

foreach (KeyValuePair<string, object> transItem in dynData
{
if (transItem.Key == "transaction_time")
var transaction_time = Convert.ToString(transItem.Value);
else if (transItem.Key == "transaction_status")
var transaction_status = Convert.ToString(transItem.Value);
else if (transItem.Key == "transaction_id")
var transaction_ido = Convert.ToString(transItem.Value);
//else
//do for rest attribute of your json data
}

return true;
}

关于c# - 在 C# 中获取 JSON POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46271214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com