Отображать сырой отформатированный JSON из .NET Web API - PullRequest
0 голосов
/ 28 октября 2019

Я знаю, что об этом уже говорилось, но я не заставляю его работать. У меня есть .NET WEB API с

        config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented

в моем WebApiConfig.

мой URL-адрес

     https://restapi20190104050748.azurewebsites.net/api/pmid_Impact/30931705

моя функция

       Dim sb As New StringBuilder()

        Dim sw As New StringWriter(sb)
        Dim writer As JsonWriter = New JsonTextWriter(sw)


                  While reader.Read
                    writer.WriteStartObject()
                    writer.WritePropertyName("pmid")
                    writer.WriteValue(reader("PMID").ToString)
                    writer.WritePropertyName("issn")
                    writer.WriteValue(reader("issn").ToString)
                    writer.WritePropertyName("essn")
                    writer.WriteValue(reader("essn").ToString)
                    writer.WritePropertyName("journal")
                    writer.WriteValue(reader("journal").ToString)
                    writer.WritePropertyName("pubYear")
                    writer.WriteValue(reader("pubYear").ToString)
                    writer.WritePropertyName("ImpactFactor")
                    writer.WriteValue(reader("ImpactFactor").ToString)
                    writer.WriteEndObject()
                End While
         writer.Close()
                Return sb.ToString

и мое возвращаемое значение ужасно,

   "[{\"pmid\":\"30931705\",\"issn\":\"2380-0844\",\"essn\":\"2380-0852\",\"journal\":\"JDR Clin Trans Res\",\"pubYear\":\"2019\",\"ImpactFactor\":\"\"}]"

как мне заставить его выглядеть так:

[{
    "pmid ": "30931705",
    "issn": "2380-0844",
    "essn": "2380-0852",
    "journal": "JDR Clin Trans Res",
    "pubYear": "2019",
    "ImpactFactor": "12.5"
}]

Это просто чистый ответ в сети

1 Ответ

0 голосов
/ 29 октября 2019

VB:

Public Function List(ByVal data As Object()) As JsonResult
Return Json(data, New JsonSerializerSettings With {
    .Formatting = Formatting.Indented
})
End Function

c #

 public JsonResult List(object[] data)
 {
     return Json(data, new JsonSerializerSettings
     {
        Formatting = Formatting.Indented
     });
  }

Я тестировал только часть C #, но у меня это работает отлично, кстати, я использую Newtonsoft.Json

больше информации можно найти здесь: docs.microsoft.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...