Kuldev Ответов: 0

Asp.net веб-служба, получающая данные JSON


привет я создал asp.net веб-сервиса, но когда я использую этот код, это дает мне следующую ошибку :
Цитата:
Вы должны реализовать метод доступа по умолчанию в Newtonsoft.Json.Linq.JObject, поскольку он наследуется от ICollection.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения Об Исключении: Система.InvalidOperationException: вы должны реализовать метод доступа по умолчанию в Newtonsoft.Json.Linq.JObject, поскольку он наследуется от ICollection.

Ошибка Источника:

Необработанное исключение было сгенерировано во время выполнения текущего веб-запроса. Информацию о происхождении и местоположении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

трассировка стека:


[InvalidOperationException: вы должны реализовать метод доступа по умолчанию в Newtonsoft.Json.Linq.JObject, поскольку он наследуется от ICollection.]
Системы.В формате XML.Сериализации.Типоскоп.GetDefaultIndexer(тип, строка memberinfo, тип которого совпадает) +5361982
Системы.В формате XML.Сериализации.Типоскоп.ImportTypeDesc(тип, memberinfo, тип которого совпадает memberinfo, тип которого совпадает, логическое directReference) +1475
Системы.В формате XML.Сериализации.Типоскоп.GetTypeDesc(тип, Источник memberinfo, тип которого совпадает, логическое directReference, логическое параметра throwonerror) +157
Системы.В формате XML.Сериализации.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, Строковой н. с., XmlReflectionMember[] xmlReflectionMembers, логическое ЭКП, логическое openModel, RecursionLimiter ограничитель) +71
Системы.В формате XML.Сериализации.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) +300


Что я уже пробовал:

I am using VS2017
below is the code that i have created : 
<pre lang="vb">


<blockquote class="quote"><div class="op">Quote:</div>
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports System.Net
Imports System.Data.SqlClient
Imports System.IO

<blockquote class="quote"><div class="op">Quote:</div><System.Web.Services.WebService(Namespace:="http://tempuri.org/")>
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)>
<ToolboxItem(False)>
Public Class CovidWebService</blockquote>
<WebMethod>
    Public Function SubGetVisitorsListNew(ByVal jsonResult As JObject) As String
        Dim mMsg As String = "Done"
        MyConConnection.Open()

        Try

            Dim details = JObject.Parse(jsonResult)

            Dim ser As JObject = JObject.Parse(jsonResult)
            Dim data As List(Of JToken) = ser.Children().ToList
            Dim output As String = ""
            For Each item As JProperty In data
                item.CreateReader()
                Select Case item.Name
                    Case "visitors"
                        For Each msg As JObject In item.Values
                            mCmd = "INSERT INTO SurveyVisitorsData "
                            mCmd = mCmd & " (FamilyHeadSerialNo, Name,Age, AgeDetails, Sex, IfUNRResident) "
                            mCmd = mCmd & " VALUES "
                            mCmd = mCmd & " (@mFamilyHeadSerialNo, @mName,@mAge, @mAgeDetails, @mSex, @mIfUNRResident) "
                            cmd = New SqlCommand(mCmd, MyConConnection)
                            cmd.Parameters.AddWithValue("@mFamilyHeadSerialNo", msg("FamilyHeadSerialNo"))
                            cmd.Parameters.AddWithValue("Name", msg("Name"))
                            cmd.Parameters.AddWithValue("contact_number", msg("contact_number"))
                            cmd.Parameters.AddWithValue("Age", msg("Age"))
                            cmd.Parameters.AddWithValue("AgeDetails", msg("AgeDetails"))
                            cmd.Parameters.AddWithValue("Sex", msg("Sex"))
                            cmd.Parameters.AddWithValue("IfUNRResident", msg("IfUNRResident"))
                            cmd.ExecuteNonQuery()

                        Next
                End Select
            Next
        Catch ex As Exception
            mMsg = ex.Message.ToString
        End Try
        MyConConnection.Close()
        Return mMsg
    End Function

End Class
</blockquote>

ZurdoDev

Какая строка кода вызывает ошибку?

Sandeep Mewara

Прочтите это и посмотрите, поможет ли это: https://weblog.west-wind.com/posts/2012/aug/30/using-jsonnet-for-dynamic-json-parsing

0 Ответов