Извлечь атрибут Value из JSON String, используя c# - PullRequest
1 голос
/ 22 марта 2020

enter image description here Я ищу наилучший способ извлечь атрибут JSON - RatingData с использованием c#. См. Строку JSON ниже.

Обратите внимание, что атрибут JSON RatingData имеет цифровую подпись с использованием закрытого ключа, и я пытаюсь проверить цифровую подпись, используя ключ и подпись publi c , Мне нужно извлечь RatingData, как оно было отправлено в JSON, чтобы убедиться, что проверка цифровой подписи прошла успешно. Я пробовал синтаксический анализ JObject, но этот метод, кажется, возвращает пробелы и не работает хорошо.

Любая другая техника для получения информации об атрибуте JSON во время ее отправки?

{
  "DigitalSignature": "MEYCIQDC0RutOfYEIR/3zkUlcIxxxxxx98Ayqq8AIhAP30+Bk8ueY1ABVYJlAQGlhAcWlAMHo3YAqhHIrUykUj",
  "ReceiptPublicKey": "RxxxxxIN7I3IhLjAqrUrx5vZofHYm4DF5srHB0Hzyuf25eW5UVCPOvbr8GvrzqZbq2ZdcQmAaoiyhaBcOdAsjcHYBcfV/tR5uHQRDLWIpNUTawcxB6tX6XGXvd0baPav4LfL2pfqegpx5BhfWdRGmvL6/Yc5bw29IWag/SmabTEZE/C4=",
  "RatingData": {
    "RatingValue": 3,
    "ItemID": "15cc6a0b-9673-4537-b5cc-b205249f44e4",
    "RatingDateTime": "2020-03-21 00:36:49.025",
    "Rating": [
      3,
      3,
      5
    ]
  },
  "RetailersReceiptData": {
    "ConsumerID": "d9e1c467-91c6-4afe-ae7c-86b0a0d0bfb3",
    "RetailerID": "6da5da9f-b42d-4918-ad43-53b2203df54e",
    "RetailerRulePoints": 
    {
      "Enablexxx": 1,
      "Enableyyy": 1,
      "Enablezzz": 1
    }
  }
}

1 Ответ

0 голосов
/ 22 марта 2020

Проверьте это Net скрипка . Я использую * библиотека Newtonsoft * 1012, чтобы сделать converion

using System;
using Newtonsoft.Json;

public class Program
{
    static string json = "{ \"DigitalSignature\": \"MEYCIQDC0RutOfYEIR/3zkUlcIxxxxxx98Ayqq8AIhAP30+Bk8ueY1ABVYJlAQGlhAcWlAMHo3YAqhHIrUykUj\",  \"ReceiptPublicKey\": \"RxxxxxIN7I3IhLjAqrUrx5vZofHYm4DF5srHB0Hzyuf25eW5UVCPOvbr8GvrzqZbq2ZdcQmAaoiyhaBcOdAsjcHYBcfV/tR5uHQRDLWIpNUTawcxB6tX6XGXvd0baPav4LfL2pfqegpx5BhfWdRGmvL6/Yc5bw29IWag/SmabTEZE/C4=\",  \"RatingData\": {    \"RatingValue\": 3,    \"ItemID\": \"15cc6a0b-9673-4537-b5cc-b205249f44e4\",    \"RatingDateTime\": \"2020-03-21 00:36:49.025\",    \"Rating\": [      3,      3,      5    ]  },  \"RetailersReceiptData\": {    \"ConsumerID\": \"d9e1c467-91c6-4afe-ae7c-86b0a0d0bfb3\",    \"RetailerID\": \"6da5da9f-b42d-4918-ad43-53b2203df54e\",    \"RetailerRulePoints\":     {      \"Enablexxx\": 1,      \"Enableyyy\": 1,      \"Enablezzz\": 1    }  }}";
    public static void Main()
    {
        dynamic obj  = JsonConvert.DeserializeObject<dynamic>(json);

        Console.WriteLine(obj.DigitalSignature);
        Console.WriteLine(obj.ReceiptPublicKey);
    }
}

MEYCIQDC0RutOfYEIR / 3zkUlcIxxxxxx98Ayqq8AIhAP30 + Bk8ueY1ABVYJlAQGlhAcWlAMHo3YAqhHIrUykUj

1008 * RxxxxxIN7I3IhLjAqrUrx5vZofHYm4DF5srHB0Hzyuf25eW5UVCPOvbr8GvrzqZbq2ZdcQmAaoiyhaBcOdAsjcHYBcfV / tR5uHQRDLWIpNUTawcxB6tX6XGXvd0baPav4LfL2pfqegpx5BhfWdRGmvL6 / Yc5bw29IWag / SmabTEZE / C4 =
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...