Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Visual Basic 2013中反序列化Json?_Json_Vb.net_Visual Studio_Visual Studio 2013_Json Deserialization - Fatal编程技术网

如何在Visual Basic 2013中反序列化Json?

如何在Visual Basic 2013中反序列化Json?,json,vb.net,visual-studio,visual-studio-2013,json-deserialization,Json,Vb.net,Visual Studio,Visual Studio 2013,Json Deserialization,我试图在Visual Basic 2013中将反序列化的json数据插入sqlite表。但是,我在反序列化json数据时遇到了问题。Json数据结构如下- [ { "QID":"1", "Question_Text":"This is a demo question", "Question_Media":null, "Subject_Id":"1", "Subject_Name":"Demo Subject", "Topic_Id":"12", "Topic_Name":"Demo Topic"

我试图在Visual Basic 2013中将反序列化的json数据插入sqlite表。但是,我在反序列化json数据时遇到了问题。Json数据结构如下-

[
{
"QID":"1",
"Question_Text":"This is a demo question",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo Subject",
"Topic_Id":"12",
"Topic_Name":"Demo Topic",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo Exam",
"Explanation":"Demo Explanation",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Lesser petrosal nerve",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Maxillary nerve",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Motor root of trigeminal nerve",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Sensory branch of mandibular nerve",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:58:01",
"Updated_At":"2015-03-14 22:56:08",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
},
{
"QID":"2",
"Question_Text":"Demo question 2",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo subject 2",
"Topic_Id":"12",
"Topic_Name":"Demo topic 2",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo exam 2",
"Explanation":"Demo explanation 2",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Hypothalamus",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Pituitary gland",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Amygdaloid body",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Basal ganglia ",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:59:15",
"Updated_At":"2015-03-14 21:42:12",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
}
]
Public Class JSON_Questions
    Public Property QID() As String
        Get
            Return m_QID
        End Get
        Set(value As String)
            m_QID = value
        End Set
    End Property
    Private m_QID As String
    Public Property Question_Text() As String
        Get
            Return m_Question_Text
        End Get
        Set(value As String)
            m_Question_Text = value
        End Set
    End Property
    Private m_Question_Text As String
    Public Property Question_Media() As Object
        Get
            Return m_Question_Media
        End Get
        Set(value As Object)
            m_Question_Media = value
        End Set
    End Property
    Private m_Question_Media As Object
    Public Property Subject_Id() As String
        Get
            Return m_Subject_Id
        End Get
        Set(value As String)
            m_Subject_Id = value
        End Set
    End Property
    Private m_Subject_Id As String
    Public Property Subject_Name() As String
        Get
            Return m_Subject_Name
        End Get
        Set(value As String)
            m_Subject_Name = value
        End Set
    End Property
    Private m_Subject_Name As String
    Public Property Topic_Id() As String
        Get
            Return m_Topic_Id
        End Get
        Set(value As String)
            m_Topic_Id = value
        End Set
    End Property
    Private m_Topic_Id As String
    Public Property Topic_Name() As String
        Get
            Return m_Topic_Name
        End Get
        Set(value As String)
            m_Topic_Name = value
        End Set
    End Property
    Private m_Topic_Name As String
    Public Property Chapter_No() As String
        Get
            Return m_Chapter_No
        End Get
        Set(value As String)
            m_Chapter_No = value
        End Set
    End Property
    Private m_Chapter_No As String
    Public Property Exam_Id() As String
        Get
            Return m_Exam_Id
        End Get
        Set(value As String)
            m_Exam_Id = value
        End Set
    End Property
    Private m_Exam_Id As String
    Public Property Exam_Name() As String
        Get
            Return m_Exam_Name
        End Get
        Set(value As String)
            m_Exam_Name = value
        End Set
    End Property
    Private m_Exam_Name As String
    Public Property Explanation() As String
        Get
            Return m_Explanation
        End Get
        Set(value As String)
            m_Explanation = value
        End Set
    End Property
    Private m_Explanation As String
    Public Property Explanation_Media() As Object
        Get
            Return m_Explanation_Media
        End Get
        Set(value As Object)
            m_Explanation_Media = value
        End Set
    End Property
    Private m_Explanation_Media As Object
    Public Property Reference() As Object
        Get
            Return m_Reference
        End Get
        Set(value As Object)
            m_Reference = value
        End Set
    End Property
    Private m_Reference As Object
    Public Property Option_01() As String
        Get
            Return m_Option_01
        End Get
        Set(value As String)
            m_Option_01 = value
        End Set
    End Property
    Private m_Option_01 As String
    Public Property Option_01_Media() As Object
        Get
            Return m_Option_01_Media
        End Get
        Set(value As Object)
            m_Option_01_Media = value
        End Set
    End Property
    Private m_Option_01_Media As Object
    Public Property Option_01_isCorrect() As String
        Get
            Return m_Option_01_isCorrect
        End Get
        Set(value As String)
            m_Option_01_isCorrect = value
        End Set
    End Property
    Private m_Option_01_isCorrect As String
    Public Property Option_01_Hint() As String
        Get
            Return m_Option_01_Hint
        End Get
        Set(value As String)
            m_Option_01_Hint = value
        End Set
    End Property
    Private m_Option_01_Hint As String
    Public Property Option_01_Hint_Media() As Object
        Get
            Return m_Option_01_Hint_Media
        End Get
        Set(value As Object)
            m_Option_01_Hint_Media = value
        End Set
    End Property
    Private m_Option_01_Hint_Media As Object
    Public Property Option_02() As String
        Get
            Return m_Option_02
        End Get
        Set(value As String)
            m_Option_02 = value
        End Set
    End Property
    Private m_Option_02 As String
    Public Property Option_02_Media() As Object
        Get
            Return m_Option_02_Media
        End Get
        Set(value As Object)
            m_Option_02_Media = value
        End Set
    End Property
    Private m_Option_02_Media As Object
    Public Property Option_02_isCorrect() As String
        Get
            Return m_Option_02_isCorrect
        End Get
        Set(value As String)
            m_Option_02_isCorrect = value
        End Set
    End Property
    Private m_Option_02_isCorrect As String
    Public Property Option_02_Hint() As Object
        Get
            Return m_Option_02_Hint
        End Get
        Set(value As Object)
            m_Option_02_Hint = value
        End Set
    End Property
    Private m_Option_02_Hint As Object
    Public Property Option_02_Hint_Media() As Object
        Get
            Return m_Option_02_Hint_Media
        End Get
        Set(value As Object)
            m_Option_02_Hint_Media = value
        End Set
    End Property
    Private m_Option_02_Hint_Media As Object
    Public Property Option_03() As String
        Get
            Return m_Option_03
        End Get
        Set(value As String)
            m_Option_03 = value
        End Set
    End Property
    Private m_Option_03 As String
    Public Property Option_03_Media() As Object
        Get
            Return m_Option_03_Media
        End Get
        Set(value As Object)
            m_Option_03_Media = value
        End Set
    End Property
    Private m_Option_03_Media As Object
    Public Property Option_03_isCorrect() As String
        Get
            Return m_Option_03_isCorrect
        End Get
        Set(value As String)
            m_Option_03_isCorrect = value
        End Set
    End Property
    Private m_Option_03_isCorrect As String
    Public Property Option_03_Hint() As Object
        Get
            Return m_Option_03_Hint
        End Get
        Set(value As Object)
            m_Option_03_Hint = value
        End Set
    End Property
    Private m_Option_03_Hint As Object
    Public Property Option_03_Hint_Media() As Object
        Get
            Return m_Option_03_Hint_Media
        End Get
        Set(value As Object)
            m_Option_03_Hint_Media = value
        End Set
    End Property
    Private m_Option_03_Hint_Media As Object
    Public Property Option_04() As String
        Get
            Return m_Option_04
        End Get
        Set(value As String)
            m_Option_04 = value
        End Set
    End Property
    Private m_Option_04 As String
    Public Property Option_04_Media() As Object
        Get
            Return m_Option_04_Media
        End Get
        Set(value As Object)
            m_Option_04_Media = value
        End Set
    End Property
    Private m_Option_04_Media As Object
    Public Property Option_04_isCorrect() As String
        Get
            Return m_Option_04_isCorrect
        End Get
        Set(value As String)
            m_Option_04_isCorrect = value
        End Set
    End Property
    Private m_Option_04_isCorrect As String
    Public Property Option_04_Hint() As Object
        Get
            Return m_Option_04_Hint
        End Get
        Set(value As Object)
            m_Option_04_Hint = value
        End Set
    End Property
    Private m_Option_04_Hint As Object
    Public Property Option_04_Hint_Media() As Object
        Get
            Return m_Option_04_Hint_Media
        End Get
        Set(value As Object)
            m_Option_04_Hint_Media = value
        End Set
    End Property
    Private m_Option_04_Hint_Media As Object
    Public Property Option_05() As String
        Get
            Return m_Option_05
        End Get
        Set(value As String)
            m_Option_05 = value
        End Set
    End Property
    Private m_Option_05 As String
    Public Property Option_05_Media() As Object
        Get
            Return m_Option_05_Media
        End Get
        Set(value As Object)
            m_Option_05_Media = value
        End Set
    End Property
    Private m_Option_05_Media As Object
    Public Property Option_05_isCorrect() As String
        Get
            Return m_Option_05_isCorrect
        End Get
        Set(value As String)
            m_Option_05_isCorrect = value
        End Set
    End Property
    Private m_Option_05_isCorrect As String
    Public Property Option_05_Hint() As Object
        Get
            Return m_Option_05_Hint
        End Get
        Set(value As Object)
            m_Option_05_Hint = value
        End Set
    End Property
    Private m_Option_05_Hint As Object
    Public Property Option_05_Hint_Media() As Object
        Get
            Return m_Option_05_Hint_Media
        End Get
        Set(value As Object)
            m_Option_05_Hint_Media = value
        End Set
    End Property
    Private m_Option_05_Hint_Media As Object
    Public Property Option_06() As String
        Get
            Return m_Option_06
        End Get
        Set(value As String)
            m_Option_06 = value
        End Set
    End Property
    Private m_Option_06 As String
    Public Property Option_06_Media() As Object
        Get
            Return m_Option_06_Media
        End Get
        Set(value As Object)
            m_Option_06_Media = value
        End Set
    End Property
    Private m_Option_06_Media As Object
    Public Property Option_06_isCorrect() As String
        Get
            Return m_Option_06_isCorrect
        End Get
        Set(value As String)
            m_Option_06_isCorrect = value
        End Set
    End Property
    Private m_Option_06_isCorrect As String
    Public Property Option_06_Hint() As Object
        Get
            Return m_Option_06_Hint
        End Get
        Set(value As Object)
            m_Option_06_Hint = value
        End Set
    End Property
    Private m_Option_06_Hint As Object
    Public Property Option_06_Hint_Media() As Object
        Get
            Return m_Option_06_Hint_Media
        End Get
        Set(value As Object)
            m_Option_06_Hint_Media = value
        End Set
    End Property
    Private m_Option_06_Hint_Media As Object
    Public Property Added_By() As String
        Get
            Return m_Added_By
        End Get
        Set(value As String)
            m_Added_By = value
        End Set
    End Property
    Private m_Added_By As String
    Public Property Question_Type() As String
        Get
            Return m_Question_Type
        End Get
        Set(value As String)
            m_Question_Type = value
        End Set
    End Property
    Private m_Question_Type As String
    Public Property Created_At() As String
        Get
            Return m_Created_At
        End Get
        Set(value As String)
            m_Created_At = value
        End Set
    End Property
    Private m_Created_At As String
    Public Property Updated_At() As String
        Get
            Return m_Updated_At
        End Get
        Set(value As String)
            m_Updated_At = value
        End Set
    End Property
    Private m_Updated_At As String
    Public Property DID() As String
        Get
            Return m_DID
        End Get
        Set(value As String)
            m_DID = value
        End Set
    End Property
    Private m_DID As String
    Public Property Exams() As String
        Get
            Return m_Exams
        End Get
        Set(value As String)
            m_Exams = value
        End Set
    End Property
    Private m_Exams As String
    Public Property Difficulty_Level() As String
        Get
            Return m_Difficulty_Level
        End Get
        Set(value As String)
            m_Difficulty_Level = value
        End Set
    End Property
    Private m_Difficulty_Level As String
    Public Property isVerified() As String
        Get
            Return m_isVerified
        End Get
        Set(value As String)
            m_isVerified = value
        End Set
    End Property
    Private m_isVerified As String
    Public Property isDuplicate() As String
        Get
            Return m_isDuplicate
        End Get
        Set(value As String)
            m_isDuplicate = value
        End Set
    End Property
    Private m_isDuplicate As String
    Public Property isSeen() As String
        Get
            Return m_isSeen
        End Get
        Set(value As String)
            m_isSeen = value
        End Set
    End Property
    Private m_isSeen As String
    Public Property isAnsweredCorrect() As String
        Get
            Return m_isAnsweredCorrect
        End Get
        Set(value As String)
            m_isAnsweredCorrect = value
        End Set
    End Property
    Private m_isAnsweredCorrect As String
    Public Property isAnsweredWrong() As String
        Get
            Return m_isAnsweredWrong
        End Get
        Set(value As String)
            m_isAnsweredWrong = value
        End Set
    End Property
    Private m_isAnsweredWrong As String
    Public Property isMarked() As String
        Get
            Return m_isMarked
        End Get
        Set(value As String)
            m_isMarked = value
        End Set
    End Property
    Private m_isMarked As String
    Public Property Remarks() As Object
        Get
            Return m_Remarks
        End Get
        Set(value As Object)
            m_Remarks = value
        End Set
    End Property
    Private m_Remarks As Object
    Public Property isRepeat() As String
        Get
            Return m_isRepeat
        End Get
        Set(value As String)
            m_isRepeat = value
        End Set
    End Property
    Private m_isRepeat As String
    Public Property NotInExam() As String
        Get
            Return m_NotInExam
        End Get
        Set(value As String)
            m_NotInExam = value
        End Set
    End Property
    Private m_NotInExam As String
End Class
Public Class JSON_Questions
    Public QID As Integer
    Public Question_Text As String
    Public Subject_Id As Integer
    Public Subject_Name As String
    Public Topic_Id As Integer
    Public Topic_Name As String
    Public Chapter_No As Integer
    Public Exam_Id As Integer
    Public Exam_Name As String
    Public Explanation As String
    Public Option_01 As String
    Public Option_01_isCorrect As Integer
    Public Option_02 As String
    Public Option_02_isCorrect As Integer
    Public Option_03 As String
    Public Option_03_isCorrect As Integer
    Public Option_04 As String
    Public Option_04_isCorrect As Integer
    Public Option_05 As String
    Public Option_05_isCorrect As Integer
    Public Option_06 As String
    Public Option_06_isCorrect As Integer
    Public Added_By As String
    Public Question_Type As Integer
    Public Created_At As String
    Public Updated_At As String
    'Public Json_Result As String
End Class
到目前为止(单击按钮时)我的代码是-

但它抛出了以下错误-

Newtonsoft.Json.JsonSerializationException:无法反序列化 将当前JSON数组(例如[1,2,3])转换为类型 “quick_Maker.JSON_Questions”,因为该类型需要一个JSON对象 (例如,{“name”:“value”})以正确反序列化。要修复此错误 将JSON更改为JSON对象(例如{“name”:“value”})或 将反序列化类型更改为数组或实现 收集接口(如ICollection、IList)类似于列表,可以 可以从JSON数组反序列化。JsonArrayAttribute也可以是 添加到类型以强制其从JSON数组反序列化。路径 '',第1行,位置1。在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(JsonReader reader,类型objectType,JsonContract合同)位于 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader,类型objectType,JsonContract合同,JsonProperty成员, 对象存在值,字符串id)位于 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader,类型objectType,JsonContract合同,JsonProperty成员, JSONCONTAINERCONTAINERCONTAINERCONTRACT,JsonProperty containerMember, 对象存在值)位于 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader 读取器,类型objectType,布尔检查附加内容)位于 Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader, 类型(objectType)位于 反序列化(JsonReader,类型 Newtonsoft.Json.JsonConvert.DeserializeObject(字符串 值、类型、JsonSerializerSettings设置)位于 Newtonsoft.Json.JsonConvert.DeserializeObject[T](字符串值, JsonSerializerSettings(设置)位于 Newtonsoft.Json.JsonConvert.DeserializeObject[T](字符串值)位于 测验制作者。高级设置。BTN回复问题\u单击(对象发送者, C:\VisualStudioProjects\Quit Maker\Quit Maker\Quit Maker中的事件参数 Maker\Advanced Settings.vb:第25行

在网上阅读了stackoverflow和stackoverflow的类似问题后,我制作了
JSON_问题
类,如下所示-

[
{
"QID":"1",
"Question_Text":"This is a demo question",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo Subject",
"Topic_Id":"12",
"Topic_Name":"Demo Topic",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo Exam",
"Explanation":"Demo Explanation",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Lesser petrosal nerve",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Maxillary nerve",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Motor root of trigeminal nerve",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Sensory branch of mandibular nerve",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:58:01",
"Updated_At":"2015-03-14 22:56:08",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
},
{
"QID":"2",
"Question_Text":"Demo question 2",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo subject 2",
"Topic_Id":"12",
"Topic_Name":"Demo topic 2",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo exam 2",
"Explanation":"Demo explanation 2",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Hypothalamus",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Pituitary gland",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Amygdaloid body",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Basal ganglia ",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:59:15",
"Updated_At":"2015-03-14 21:42:12",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
}
]
Public Class JSON_Questions
    Public Property QID() As String
        Get
            Return m_QID
        End Get
        Set(value As String)
            m_QID = value
        End Set
    End Property
    Private m_QID As String
    Public Property Question_Text() As String
        Get
            Return m_Question_Text
        End Get
        Set(value As String)
            m_Question_Text = value
        End Set
    End Property
    Private m_Question_Text As String
    Public Property Question_Media() As Object
        Get
            Return m_Question_Media
        End Get
        Set(value As Object)
            m_Question_Media = value
        End Set
    End Property
    Private m_Question_Media As Object
    Public Property Subject_Id() As String
        Get
            Return m_Subject_Id
        End Get
        Set(value As String)
            m_Subject_Id = value
        End Set
    End Property
    Private m_Subject_Id As String
    Public Property Subject_Name() As String
        Get
            Return m_Subject_Name
        End Get
        Set(value As String)
            m_Subject_Name = value
        End Set
    End Property
    Private m_Subject_Name As String
    Public Property Topic_Id() As String
        Get
            Return m_Topic_Id
        End Get
        Set(value As String)
            m_Topic_Id = value
        End Set
    End Property
    Private m_Topic_Id As String
    Public Property Topic_Name() As String
        Get
            Return m_Topic_Name
        End Get
        Set(value As String)
            m_Topic_Name = value
        End Set
    End Property
    Private m_Topic_Name As String
    Public Property Chapter_No() As String
        Get
            Return m_Chapter_No
        End Get
        Set(value As String)
            m_Chapter_No = value
        End Set
    End Property
    Private m_Chapter_No As String
    Public Property Exam_Id() As String
        Get
            Return m_Exam_Id
        End Get
        Set(value As String)
            m_Exam_Id = value
        End Set
    End Property
    Private m_Exam_Id As String
    Public Property Exam_Name() As String
        Get
            Return m_Exam_Name
        End Get
        Set(value As String)
            m_Exam_Name = value
        End Set
    End Property
    Private m_Exam_Name As String
    Public Property Explanation() As String
        Get
            Return m_Explanation
        End Get
        Set(value As String)
            m_Explanation = value
        End Set
    End Property
    Private m_Explanation As String
    Public Property Explanation_Media() As Object
        Get
            Return m_Explanation_Media
        End Get
        Set(value As Object)
            m_Explanation_Media = value
        End Set
    End Property
    Private m_Explanation_Media As Object
    Public Property Reference() As Object
        Get
            Return m_Reference
        End Get
        Set(value As Object)
            m_Reference = value
        End Set
    End Property
    Private m_Reference As Object
    Public Property Option_01() As String
        Get
            Return m_Option_01
        End Get
        Set(value As String)
            m_Option_01 = value
        End Set
    End Property
    Private m_Option_01 As String
    Public Property Option_01_Media() As Object
        Get
            Return m_Option_01_Media
        End Get
        Set(value As Object)
            m_Option_01_Media = value
        End Set
    End Property
    Private m_Option_01_Media As Object
    Public Property Option_01_isCorrect() As String
        Get
            Return m_Option_01_isCorrect
        End Get
        Set(value As String)
            m_Option_01_isCorrect = value
        End Set
    End Property
    Private m_Option_01_isCorrect As String
    Public Property Option_01_Hint() As String
        Get
            Return m_Option_01_Hint
        End Get
        Set(value As String)
            m_Option_01_Hint = value
        End Set
    End Property
    Private m_Option_01_Hint As String
    Public Property Option_01_Hint_Media() As Object
        Get
            Return m_Option_01_Hint_Media
        End Get
        Set(value As Object)
            m_Option_01_Hint_Media = value
        End Set
    End Property
    Private m_Option_01_Hint_Media As Object
    Public Property Option_02() As String
        Get
            Return m_Option_02
        End Get
        Set(value As String)
            m_Option_02 = value
        End Set
    End Property
    Private m_Option_02 As String
    Public Property Option_02_Media() As Object
        Get
            Return m_Option_02_Media
        End Get
        Set(value As Object)
            m_Option_02_Media = value
        End Set
    End Property
    Private m_Option_02_Media As Object
    Public Property Option_02_isCorrect() As String
        Get
            Return m_Option_02_isCorrect
        End Get
        Set(value As String)
            m_Option_02_isCorrect = value
        End Set
    End Property
    Private m_Option_02_isCorrect As String
    Public Property Option_02_Hint() As Object
        Get
            Return m_Option_02_Hint
        End Get
        Set(value As Object)
            m_Option_02_Hint = value
        End Set
    End Property
    Private m_Option_02_Hint As Object
    Public Property Option_02_Hint_Media() As Object
        Get
            Return m_Option_02_Hint_Media
        End Get
        Set(value As Object)
            m_Option_02_Hint_Media = value
        End Set
    End Property
    Private m_Option_02_Hint_Media As Object
    Public Property Option_03() As String
        Get
            Return m_Option_03
        End Get
        Set(value As String)
            m_Option_03 = value
        End Set
    End Property
    Private m_Option_03 As String
    Public Property Option_03_Media() As Object
        Get
            Return m_Option_03_Media
        End Get
        Set(value As Object)
            m_Option_03_Media = value
        End Set
    End Property
    Private m_Option_03_Media As Object
    Public Property Option_03_isCorrect() As String
        Get
            Return m_Option_03_isCorrect
        End Get
        Set(value As String)
            m_Option_03_isCorrect = value
        End Set
    End Property
    Private m_Option_03_isCorrect As String
    Public Property Option_03_Hint() As Object
        Get
            Return m_Option_03_Hint
        End Get
        Set(value As Object)
            m_Option_03_Hint = value
        End Set
    End Property
    Private m_Option_03_Hint As Object
    Public Property Option_03_Hint_Media() As Object
        Get
            Return m_Option_03_Hint_Media
        End Get
        Set(value As Object)
            m_Option_03_Hint_Media = value
        End Set
    End Property
    Private m_Option_03_Hint_Media As Object
    Public Property Option_04() As String
        Get
            Return m_Option_04
        End Get
        Set(value As String)
            m_Option_04 = value
        End Set
    End Property
    Private m_Option_04 As String
    Public Property Option_04_Media() As Object
        Get
            Return m_Option_04_Media
        End Get
        Set(value As Object)
            m_Option_04_Media = value
        End Set
    End Property
    Private m_Option_04_Media As Object
    Public Property Option_04_isCorrect() As String
        Get
            Return m_Option_04_isCorrect
        End Get
        Set(value As String)
            m_Option_04_isCorrect = value
        End Set
    End Property
    Private m_Option_04_isCorrect As String
    Public Property Option_04_Hint() As Object
        Get
            Return m_Option_04_Hint
        End Get
        Set(value As Object)
            m_Option_04_Hint = value
        End Set
    End Property
    Private m_Option_04_Hint As Object
    Public Property Option_04_Hint_Media() As Object
        Get
            Return m_Option_04_Hint_Media
        End Get
        Set(value As Object)
            m_Option_04_Hint_Media = value
        End Set
    End Property
    Private m_Option_04_Hint_Media As Object
    Public Property Option_05() As String
        Get
            Return m_Option_05
        End Get
        Set(value As String)
            m_Option_05 = value
        End Set
    End Property
    Private m_Option_05 As String
    Public Property Option_05_Media() As Object
        Get
            Return m_Option_05_Media
        End Get
        Set(value As Object)
            m_Option_05_Media = value
        End Set
    End Property
    Private m_Option_05_Media As Object
    Public Property Option_05_isCorrect() As String
        Get
            Return m_Option_05_isCorrect
        End Get
        Set(value As String)
            m_Option_05_isCorrect = value
        End Set
    End Property
    Private m_Option_05_isCorrect As String
    Public Property Option_05_Hint() As Object
        Get
            Return m_Option_05_Hint
        End Get
        Set(value As Object)
            m_Option_05_Hint = value
        End Set
    End Property
    Private m_Option_05_Hint As Object
    Public Property Option_05_Hint_Media() As Object
        Get
            Return m_Option_05_Hint_Media
        End Get
        Set(value As Object)
            m_Option_05_Hint_Media = value
        End Set
    End Property
    Private m_Option_05_Hint_Media As Object
    Public Property Option_06() As String
        Get
            Return m_Option_06
        End Get
        Set(value As String)
            m_Option_06 = value
        End Set
    End Property
    Private m_Option_06 As String
    Public Property Option_06_Media() As Object
        Get
            Return m_Option_06_Media
        End Get
        Set(value As Object)
            m_Option_06_Media = value
        End Set
    End Property
    Private m_Option_06_Media As Object
    Public Property Option_06_isCorrect() As String
        Get
            Return m_Option_06_isCorrect
        End Get
        Set(value As String)
            m_Option_06_isCorrect = value
        End Set
    End Property
    Private m_Option_06_isCorrect As String
    Public Property Option_06_Hint() As Object
        Get
            Return m_Option_06_Hint
        End Get
        Set(value As Object)
            m_Option_06_Hint = value
        End Set
    End Property
    Private m_Option_06_Hint As Object
    Public Property Option_06_Hint_Media() As Object
        Get
            Return m_Option_06_Hint_Media
        End Get
        Set(value As Object)
            m_Option_06_Hint_Media = value
        End Set
    End Property
    Private m_Option_06_Hint_Media As Object
    Public Property Added_By() As String
        Get
            Return m_Added_By
        End Get
        Set(value As String)
            m_Added_By = value
        End Set
    End Property
    Private m_Added_By As String
    Public Property Question_Type() As String
        Get
            Return m_Question_Type
        End Get
        Set(value As String)
            m_Question_Type = value
        End Set
    End Property
    Private m_Question_Type As String
    Public Property Created_At() As String
        Get
            Return m_Created_At
        End Get
        Set(value As String)
            m_Created_At = value
        End Set
    End Property
    Private m_Created_At As String
    Public Property Updated_At() As String
        Get
            Return m_Updated_At
        End Get
        Set(value As String)
            m_Updated_At = value
        End Set
    End Property
    Private m_Updated_At As String
    Public Property DID() As String
        Get
            Return m_DID
        End Get
        Set(value As String)
            m_DID = value
        End Set
    End Property
    Private m_DID As String
    Public Property Exams() As String
        Get
            Return m_Exams
        End Get
        Set(value As String)
            m_Exams = value
        End Set
    End Property
    Private m_Exams As String
    Public Property Difficulty_Level() As String
        Get
            Return m_Difficulty_Level
        End Get
        Set(value As String)
            m_Difficulty_Level = value
        End Set
    End Property
    Private m_Difficulty_Level As String
    Public Property isVerified() As String
        Get
            Return m_isVerified
        End Get
        Set(value As String)
            m_isVerified = value
        End Set
    End Property
    Private m_isVerified As String
    Public Property isDuplicate() As String
        Get
            Return m_isDuplicate
        End Get
        Set(value As String)
            m_isDuplicate = value
        End Set
    End Property
    Private m_isDuplicate As String
    Public Property isSeen() As String
        Get
            Return m_isSeen
        End Get
        Set(value As String)
            m_isSeen = value
        End Set
    End Property
    Private m_isSeen As String
    Public Property isAnsweredCorrect() As String
        Get
            Return m_isAnsweredCorrect
        End Get
        Set(value As String)
            m_isAnsweredCorrect = value
        End Set
    End Property
    Private m_isAnsweredCorrect As String
    Public Property isAnsweredWrong() As String
        Get
            Return m_isAnsweredWrong
        End Get
        Set(value As String)
            m_isAnsweredWrong = value
        End Set
    End Property
    Private m_isAnsweredWrong As String
    Public Property isMarked() As String
        Get
            Return m_isMarked
        End Get
        Set(value As String)
            m_isMarked = value
        End Set
    End Property
    Private m_isMarked As String
    Public Property Remarks() As Object
        Get
            Return m_Remarks
        End Get
        Set(value As Object)
            m_Remarks = value
        End Set
    End Property
    Private m_Remarks As Object
    Public Property isRepeat() As String
        Get
            Return m_isRepeat
        End Get
        Set(value As String)
            m_isRepeat = value
        End Set
    End Property
    Private m_isRepeat As String
    Public Property NotInExam() As String
        Get
            Return m_NotInExam
        End Get
        Set(value As String)
            m_NotInExam = value
        End Set
    End Property
    Private m_NotInExam As String
End Class
Public Class JSON_Questions
    Public QID As Integer
    Public Question_Text As String
    Public Subject_Id As Integer
    Public Subject_Name As String
    Public Topic_Id As Integer
    Public Topic_Name As String
    Public Chapter_No As Integer
    Public Exam_Id As Integer
    Public Exam_Name As String
    Public Explanation As String
    Public Option_01 As String
    Public Option_01_isCorrect As Integer
    Public Option_02 As String
    Public Option_02_isCorrect As Integer
    Public Option_03 As String
    Public Option_03_isCorrect As Integer
    Public Option_04 As String
    Public Option_04_isCorrect As Integer
    Public Option_05 As String
    Public Option_05_isCorrect As Integer
    Public Option_06 As String
    Public Option_06_isCorrect As Integer
    Public Added_By As String
    Public Question_Type As Integer
    Public Created_At As String
    Public Updated_At As String
    'Public Json_Result As String
End Class
之前,我使用的类如下-

[
{
"QID":"1",
"Question_Text":"This is a demo question",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo Subject",
"Topic_Id":"12",
"Topic_Name":"Demo Topic",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo Exam",
"Explanation":"Demo Explanation",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Lesser petrosal nerve",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Maxillary nerve",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Motor root of trigeminal nerve",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Sensory branch of mandibular nerve",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:58:01",
"Updated_At":"2015-03-14 22:56:08",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
},
{
"QID":"2",
"Question_Text":"Demo question 2",
"Question_Media":null,
"Subject_Id":"1",
"Subject_Name":"Demo subject 2",
"Topic_Id":"12",
"Topic_Name":"Demo topic 2",
"Chapter_No":"11",
"Exam_Id":"58",
"Exam_Name":"Demo exam 2",
"Explanation":"Demo explanation 2",
"Explanation_Media":null,
"Reference":null,
"Option_01":"Hypothalamus",
"Option_01_Media":null,
"Option_01_isCorrect":"0",
"Option_01_Hint":null,
"Option_01_Hint_Media":null,
"Option_02":"Pituitary gland",
"Option_02_Media":null,
"Option_02_isCorrect":"1",
"Option_02_Hint":null,
"Option_02_Hint_Media":null,
"Option_03":"Amygdaloid body",
"Option_03_Media":null,
"Option_03_isCorrect":"0",
"Option_03_Hint":null,
"Option_03_Hint_Media":null,
"Option_04":"Basal ganglia ",
"Option_04_Media":null,
"Option_04_isCorrect":"0",
"Option_04_Hint":null,
"Option_04_Hint_Media":null,
"Option_05":null,
"Option_05_Media":null,
"Option_05_isCorrect":"0",
"Option_05_Hint":null,
"Option_05_Hint_Media":null,
"Option_06":null,
"Option_06_Media":null,
"Option_06_isCorrect":"0",
"Option_06_Hint":null,
"Option_06_Hint_Media":null,
"Added_By":"demo",
"Question_Type":"1",
"Created_At":"2015-03-07 22:59:15",
"Updated_At":"2015-03-14 21:42:12",
"DID":"0",
"Exams":null,
"Difficulty_Level":"1",
"isVerified":"0",
"isDuplicate":"0",
"isSeen":"0",
"isAnsweredCorrect":"0",
"isAnsweredWrong":"0",
"isMarked":"0",
"Remarks":null,
"isRepeat":"0",
"NotInExam":"0"
}
]
Public Class JSON_Questions
    Public Property QID() As String
        Get
            Return m_QID
        End Get
        Set(value As String)
            m_QID = value
        End Set
    End Property
    Private m_QID As String
    Public Property Question_Text() As String
        Get
            Return m_Question_Text
        End Get
        Set(value As String)
            m_Question_Text = value
        End Set
    End Property
    Private m_Question_Text As String
    Public Property Question_Media() As Object
        Get
            Return m_Question_Media
        End Get
        Set(value As Object)
            m_Question_Media = value
        End Set
    End Property
    Private m_Question_Media As Object
    Public Property Subject_Id() As String
        Get
            Return m_Subject_Id
        End Get
        Set(value As String)
            m_Subject_Id = value
        End Set
    End Property
    Private m_Subject_Id As String
    Public Property Subject_Name() As String
        Get
            Return m_Subject_Name
        End Get
        Set(value As String)
            m_Subject_Name = value
        End Set
    End Property
    Private m_Subject_Name As String
    Public Property Topic_Id() As String
        Get
            Return m_Topic_Id
        End Get
        Set(value As String)
            m_Topic_Id = value
        End Set
    End Property
    Private m_Topic_Id As String
    Public Property Topic_Name() As String
        Get
            Return m_Topic_Name
        End Get
        Set(value As String)
            m_Topic_Name = value
        End Set
    End Property
    Private m_Topic_Name As String
    Public Property Chapter_No() As String
        Get
            Return m_Chapter_No
        End Get
        Set(value As String)
            m_Chapter_No = value
        End Set
    End Property
    Private m_Chapter_No As String
    Public Property Exam_Id() As String
        Get
            Return m_Exam_Id
        End Get
        Set(value As String)
            m_Exam_Id = value
        End Set
    End Property
    Private m_Exam_Id As String
    Public Property Exam_Name() As String
        Get
            Return m_Exam_Name
        End Get
        Set(value As String)
            m_Exam_Name = value
        End Set
    End Property
    Private m_Exam_Name As String
    Public Property Explanation() As String
        Get
            Return m_Explanation
        End Get
        Set(value As String)
            m_Explanation = value
        End Set
    End Property
    Private m_Explanation As String
    Public Property Explanation_Media() As Object
        Get
            Return m_Explanation_Media
        End Get
        Set(value As Object)
            m_Explanation_Media = value
        End Set
    End Property
    Private m_Explanation_Media As Object
    Public Property Reference() As Object
        Get
            Return m_Reference
        End Get
        Set(value As Object)
            m_Reference = value
        End Set
    End Property
    Private m_Reference As Object
    Public Property Option_01() As String
        Get
            Return m_Option_01
        End Get
        Set(value As String)
            m_Option_01 = value
        End Set
    End Property
    Private m_Option_01 As String
    Public Property Option_01_Media() As Object
        Get
            Return m_Option_01_Media
        End Get
        Set(value As Object)
            m_Option_01_Media = value
        End Set
    End Property
    Private m_Option_01_Media As Object
    Public Property Option_01_isCorrect() As String
        Get
            Return m_Option_01_isCorrect
        End Get
        Set(value As String)
            m_Option_01_isCorrect = value
        End Set
    End Property
    Private m_Option_01_isCorrect As String
    Public Property Option_01_Hint() As String
        Get
            Return m_Option_01_Hint
        End Get
        Set(value As String)
            m_Option_01_Hint = value
        End Set
    End Property
    Private m_Option_01_Hint As String
    Public Property Option_01_Hint_Media() As Object
        Get
            Return m_Option_01_Hint_Media
        End Get
        Set(value As Object)
            m_Option_01_Hint_Media = value
        End Set
    End Property
    Private m_Option_01_Hint_Media As Object
    Public Property Option_02() As String
        Get
            Return m_Option_02
        End Get
        Set(value As String)
            m_Option_02 = value
        End Set
    End Property
    Private m_Option_02 As String
    Public Property Option_02_Media() As Object
        Get
            Return m_Option_02_Media
        End Get
        Set(value As Object)
            m_Option_02_Media = value
        End Set
    End Property
    Private m_Option_02_Media As Object
    Public Property Option_02_isCorrect() As String
        Get
            Return m_Option_02_isCorrect
        End Get
        Set(value As String)
            m_Option_02_isCorrect = value
        End Set
    End Property
    Private m_Option_02_isCorrect As String
    Public Property Option_02_Hint() As Object
        Get
            Return m_Option_02_Hint
        End Get
        Set(value As Object)
            m_Option_02_Hint = value
        End Set
    End Property
    Private m_Option_02_Hint As Object
    Public Property Option_02_Hint_Media() As Object
        Get
            Return m_Option_02_Hint_Media
        End Get
        Set(value As Object)
            m_Option_02_Hint_Media = value
        End Set
    End Property
    Private m_Option_02_Hint_Media As Object
    Public Property Option_03() As String
        Get
            Return m_Option_03
        End Get
        Set(value As String)
            m_Option_03 = value
        End Set
    End Property
    Private m_Option_03 As String
    Public Property Option_03_Media() As Object
        Get
            Return m_Option_03_Media
        End Get
        Set(value As Object)
            m_Option_03_Media = value
        End Set
    End Property
    Private m_Option_03_Media As Object
    Public Property Option_03_isCorrect() As String
        Get
            Return m_Option_03_isCorrect
        End Get
        Set(value As String)
            m_Option_03_isCorrect = value
        End Set
    End Property
    Private m_Option_03_isCorrect As String
    Public Property Option_03_Hint() As Object
        Get
            Return m_Option_03_Hint
        End Get
        Set(value As Object)
            m_Option_03_Hint = value
        End Set
    End Property
    Private m_Option_03_Hint As Object
    Public Property Option_03_Hint_Media() As Object
        Get
            Return m_Option_03_Hint_Media
        End Get
        Set(value As Object)
            m_Option_03_Hint_Media = value
        End Set
    End Property
    Private m_Option_03_Hint_Media As Object
    Public Property Option_04() As String
        Get
            Return m_Option_04
        End Get
        Set(value As String)
            m_Option_04 = value
        End Set
    End Property
    Private m_Option_04 As String
    Public Property Option_04_Media() As Object
        Get
            Return m_Option_04_Media
        End Get
        Set(value As Object)
            m_Option_04_Media = value
        End Set
    End Property
    Private m_Option_04_Media As Object
    Public Property Option_04_isCorrect() As String
        Get
            Return m_Option_04_isCorrect
        End Get
        Set(value As String)
            m_Option_04_isCorrect = value
        End Set
    End Property
    Private m_Option_04_isCorrect As String
    Public Property Option_04_Hint() As Object
        Get
            Return m_Option_04_Hint
        End Get
        Set(value As Object)
            m_Option_04_Hint = value
        End Set
    End Property
    Private m_Option_04_Hint As Object
    Public Property Option_04_Hint_Media() As Object
        Get
            Return m_Option_04_Hint_Media
        End Get
        Set(value As Object)
            m_Option_04_Hint_Media = value
        End Set
    End Property
    Private m_Option_04_Hint_Media As Object
    Public Property Option_05() As String
        Get
            Return m_Option_05
        End Get
        Set(value As String)
            m_Option_05 = value
        End Set
    End Property
    Private m_Option_05 As String
    Public Property Option_05_Media() As Object
        Get
            Return m_Option_05_Media
        End Get
        Set(value As Object)
            m_Option_05_Media = value
        End Set
    End Property
    Private m_Option_05_Media As Object
    Public Property Option_05_isCorrect() As String
        Get
            Return m_Option_05_isCorrect
        End Get
        Set(value As String)
            m_Option_05_isCorrect = value
        End Set
    End Property
    Private m_Option_05_isCorrect As String
    Public Property Option_05_Hint() As Object
        Get
            Return m_Option_05_Hint
        End Get
        Set(value As Object)
            m_Option_05_Hint = value
        End Set
    End Property
    Private m_Option_05_Hint As Object
    Public Property Option_05_Hint_Media() As Object
        Get
            Return m_Option_05_Hint_Media
        End Get
        Set(value As Object)
            m_Option_05_Hint_Media = value
        End Set
    End Property
    Private m_Option_05_Hint_Media As Object
    Public Property Option_06() As String
        Get
            Return m_Option_06
        End Get
        Set(value As String)
            m_Option_06 = value
        End Set
    End Property
    Private m_Option_06 As String
    Public Property Option_06_Media() As Object
        Get
            Return m_Option_06_Media
        End Get
        Set(value As Object)
            m_Option_06_Media = value
        End Set
    End Property
    Private m_Option_06_Media As Object
    Public Property Option_06_isCorrect() As String
        Get
            Return m_Option_06_isCorrect
        End Get
        Set(value As String)
            m_Option_06_isCorrect = value
        End Set
    End Property
    Private m_Option_06_isCorrect As String
    Public Property Option_06_Hint() As Object
        Get
            Return m_Option_06_Hint
        End Get
        Set(value As Object)
            m_Option_06_Hint = value
        End Set
    End Property
    Private m_Option_06_Hint As Object
    Public Property Option_06_Hint_Media() As Object
        Get
            Return m_Option_06_Hint_Media
        End Get
        Set(value As Object)
            m_Option_06_Hint_Media = value
        End Set
    End Property
    Private m_Option_06_Hint_Media As Object
    Public Property Added_By() As String
        Get
            Return m_Added_By
        End Get
        Set(value As String)
            m_Added_By = value
        End Set
    End Property
    Private m_Added_By As String
    Public Property Question_Type() As String
        Get
            Return m_Question_Type
        End Get
        Set(value As String)
            m_Question_Type = value
        End Set
    End Property
    Private m_Question_Type As String
    Public Property Created_At() As String
        Get
            Return m_Created_At
        End Get
        Set(value As String)
            m_Created_At = value
        End Set
    End Property
    Private m_Created_At As String
    Public Property Updated_At() As String
        Get
            Return m_Updated_At
        End Get
        Set(value As String)
            m_Updated_At = value
        End Set
    End Property
    Private m_Updated_At As String
    Public Property DID() As String
        Get
            Return m_DID
        End Get
        Set(value As String)
            m_DID = value
        End Set
    End Property
    Private m_DID As String
    Public Property Exams() As String
        Get
            Return m_Exams
        End Get
        Set(value As String)
            m_Exams = value
        End Set
    End Property
    Private m_Exams As String
    Public Property Difficulty_Level() As String
        Get
            Return m_Difficulty_Level
        End Get
        Set(value As String)
            m_Difficulty_Level = value
        End Set
    End Property
    Private m_Difficulty_Level As String
    Public Property isVerified() As String
        Get
            Return m_isVerified
        End Get
        Set(value As String)
            m_isVerified = value
        End Set
    End Property
    Private m_isVerified As String
    Public Property isDuplicate() As String
        Get
            Return m_isDuplicate
        End Get
        Set(value As String)
            m_isDuplicate = value
        End Set
    End Property
    Private m_isDuplicate As String
    Public Property isSeen() As String
        Get
            Return m_isSeen
        End Get
        Set(value As String)
            m_isSeen = value
        End Set
    End Property
    Private m_isSeen As String
    Public Property isAnsweredCorrect() As String
        Get
            Return m_isAnsweredCorrect
        End Get
        Set(value As String)
            m_isAnsweredCorrect = value
        End Set
    End Property
    Private m_isAnsweredCorrect As String
    Public Property isAnsweredWrong() As String
        Get
            Return m_isAnsweredWrong
        End Get
        Set(value As String)
            m_isAnsweredWrong = value
        End Set
    End Property
    Private m_isAnsweredWrong As String
    Public Property isMarked() As String
        Get
            Return m_isMarked
        End Get
        Set(value As String)
            m_isMarked = value
        End Set
    End Property
    Private m_isMarked As String
    Public Property Remarks() As Object
        Get
            Return m_Remarks
        End Get
        Set(value As Object)
            m_Remarks = value
        End Set
    End Property
    Private m_Remarks As Object
    Public Property isRepeat() As String
        Get
            Return m_isRepeat
        End Get
        Set(value As String)
            m_isRepeat = value
        End Set
    End Property
    Private m_isRepeat As String
    Public Property NotInExam() As String
        Get
            Return m_NotInExam
        End Get
        Set(value As String)
            m_NotInExam = value
        End Set
    End Property
    Private m_NotInExam As String
End Class
Public Class JSON_Questions
    Public QID As Integer
    Public Question_Text As String
    Public Subject_Id As Integer
    Public Subject_Name As String
    Public Topic_Id As Integer
    Public Topic_Name As String
    Public Chapter_No As Integer
    Public Exam_Id As Integer
    Public Exam_Name As String
    Public Explanation As String
    Public Option_01 As String
    Public Option_01_isCorrect As Integer
    Public Option_02 As String
    Public Option_02_isCorrect As Integer
    Public Option_03 As String
    Public Option_03_isCorrect As Integer
    Public Option_04 As String
    Public Option_04_isCorrect As Integer
    Public Option_05 As String
    Public Option_05_isCorrect As Integer
    Public Option_06 As String
    Public Option_06_isCorrect As Integer
    Public Added_By As String
    Public Question_Type As Integer
    Public Created_At As String
    Public Updated_At As String
    'Public Json_Result As String
End Class
我甚至试过
JObject
List(JToken的)
-


但是,以上这些似乎都不起作用我被困在这里超过2天,但无法确定如何反序列化此Json并插入sqlite表。

错误消息的关键部分是:

将反序列化类型更改为数组或实现类似列表的集合接口(例如ICollection、IList)的类型

这两种方法中的任何一种都适用于校正后的数据:

' get a List<T>
Dim myQAs = JsonConvert.DeserializeObject(Of List(Of JSON_Questions))(jstr)

' deser to an array:
Dim myQAs = JsonConvert.DeserializeObject(Of JSON_Questions())(jstr)
输入点后,Intellisense将显示字段,您可以选择所需内容

如果
选项\u 01
…等是选项的集合或数组,而不是一次又一次地详细说明,那么整个事情将更容易处理。

关键是:

无法将当前JSON数组(例如[1,2,3])反序列化为类型 “quick_Maker.JSON_Questions”,因为该类型需要一个JSON对象

反序列化程序需要一个JSON对象,但您正在传递一个JSON数组。只需删除开头和结尾的方括号,代码就会开始工作

或者你也可以使用

Dim jResults As JArray = JArray.Parse(rawresp)
而不是

Dim jResults As JObject = JObject.Parse(rawresp)

希望这能有所帮助,尽管它还没有经过测试。

根据www.jsonlint.com,它不是有效的Json
“这是一个演示问题”“
有一个额外的尾随引号“为什么您使用
WebRequest.Create(URL)
而不是
HttpWebRequest.Create(URL)
?@Protoix json是在php中使用
$json=json_encode($resultArray);
生成的,我也在发布我的php代码。不确定是谁、什么或在哪里创建的,
”问题\文本“:“这是一个演示问题”“
无效-请注意额外的引号,并注意此时语法高亮显示是如何阻塞的。您的代码似乎正常工作,但现在我无法将变量
jd
中的列/行插入sqlite之前我可以使用
jsonQuestion.QID
等等。是的,你是对的,如果我有一系列的选择会更容易,这会更容易,但是作为一名医生,现在我不能给适当的时间来学习这些。现在它们在一个数组或列表中,所以使用
jd(0)。QID
Intellisense将引导你感谢你的耐心,我现在知道了,很抱歉还有更多问题。但最后两个问题-1我应该使用哪一个-
列表
数组
,因为这两个问题对我来说都很好,我不知道它们的优缺点。2(有点离题)当我将这个json输出插入sqlite时,会有更快的方法吗。目前我正在一行一行地循环。但是10公里的问题要花很多时间。谢谢。很抱歉,我真的很想知道,即使没有你的提及,我也在搜索webrequest和httpwebrequest之间的差异。。我只是把它投了更高的票,事实上这似乎是一个很好的问题。不过,我不确定这里是否还没有答案。它们之间的微妙之处并不是我的强项step
Dim jResults,因为JArray
为我工作,但这对进一步反序列化没有帮助。而与此同时,普罗泰克斯的回答对我起了作用。