VBA Intellisense not activating - ms-access

I'm unsure if this is normal behavior, but I have the following interface and class that implements the interface.
Interface IFactoryPart:
Option Compare Database
Option Explicit
Public xDim As Double
Public yDim As Double
Public Gauge As Byte
Public HoleData As Collection
Class Blank:
Option Compare Database
Option Explicit
Implements IFactoryPart
'from interface
Public txDim As Double
Public tyDim As Double
Public tGauge As Byte
Public tHoleData As Collection
'class specific
' -nothing yet
Public Property Get IFactoryPart_xDim() As Double
IFactoryPart_xDim = txDim
End Property
Public Property Let IFactoryPart_xDim(ByVal newxDim As Double)
txDim = newxDim
End Property
When I type the following, intellisense doesn't activate:
Dim inputBlank As New Blank
'doesn't activate when i type the period
inputBlank.xDim = 1
I can't seem to find a reason why it's not working, so maybe I wrote something incorrectly?

Related

How to create and read a JSON file in vb.net

I first created my JSON class, here is the code:
Public Class Fich
<JsonProperty("title")>
Public Property Title As String
<JsonProperty("name")>
Public Property Name As String
<JsonProperty("charge")>
Public Property Charge As String
<JsonProperty("institute")>
Public Property Institute As String
<JsonProperty("celebration")>
Public Property Celebration As String
End class
Public Class Prenommer
<JsonProperty("fiches")>
Public Property Fiches As Fich()
End Class
Then my data string:
Dim rawJson As String = "{""Title"":""TextBox2.Text"",""Name"":""TextBox1.Text"",""Charge"":""TextBox4.Text"",""Institute"":""TextBox15.Text"",""Celebration"":""TextBox5.Text""}"
On this string, I would like it to take into account the TextBox text of my main sheet. For the moment I can't do it, I don't see what I can replace the quadruple quotes that surround them!
And above all, if I can understand the method to achieve this, how to create and read the JSON file with the data from the TextBoxs!
Claude

System.Web.Script.Serialization cannot be solved using Visual Studios 2017

I have tried looking at the similar Stack Overflow questions that are similar to mine, but none of those solutions seem to be helping my problem. So I am asking again.
I changed the Project properties to .NET Framework 4, after doing some research online people had been saying that was a better Framework. Originally, I had been using .NET Framework 4.6.1.
I tried the MSDN webpage and incorporating the namespace and assembly, but I would just get more errors.
My error is:
Error BC30002 Type 'JavaScriptSerializer' is not
defined. VB_to_JSON_One C:\Users\cmannar\source\repos\VB_to_JSON_One\VB_to_JSON_One\Module1.vb 8 Active
And my warning is:
Warning BC40056 Namespace or type specified in the Imports
'System.Web.Script.Serialization' doesn't contain any public member or
cannot be found. Make sure the namespace or the type is defined and
contains at least one public member. Make sure the imported element
name doesn't use any
aliases. VB_to_JSON_One C:\Users\cmannar\source\repos\VB_to_JSON_One\VB_to_JSON_One\Module1.vb 2 Active
I am using Visual Studios 2017 and am trying to convert .NET to JSON as shown in the following code:
Imports System.Web.Script.Serialization ' Sytem.web.extensions.dll
Imports System.IO
Imports System.Text
Module Module1
Public serializer As New JavaScriptSerializer()
Sub Main()
Dim fileData() As String = File.ReadAllText("JSON_Data.txt").Split(vbLf)
Dim datapoints As New List(Of DataPoint)
For Each jsonData As String In fileData
If jsonData.Trim() <> "" Then datapoints.AddRange(getDeserialisedChargeHRData(jsonData))
Next
Dim sortedDataPoints As List(Of DataPoint) = datapoints.OrderBy(Function(o) o.dateTime).ToList()
Dim sb As New StringBuilder()
sb.AppendLine("Date and time,BPM,Confidence,Calories burned,Default zone,Custom zone")
For Each dp As DataPoint In datapoints
sb.AppendLine(String.Format("{0},{1},{2},{3},""{4}"",""{5}""", dp.dateTime, dp.bpm, dp.confidence, dp.caloriesBurned, dp.defaultZone, dp.customZone))
Next
File.WriteAllText("BMP_Data.csv", sb.ToString())
End Sub
Public Function getDeserialisedChargeHRData(ByVal json As String) As List(Of DataPoint)
Dim deserializedResult = serializer.Deserialize(Of List(Of RootObject))(json)
Return deserializedResult.Item(0).dataSets.activity.dataPoints
End Function
End Module
Public Class DataPoint
Public Property bpm() As Integer
Public Property confidence() As Integer
Public Property caloriesBurned() As Double
Public Property defaultZone() As String
Public Property customZone() As String
Public Property dateTime() As Date
End Class
Public Class Activity
Public Property dataPoints() As List(Of DataPoint)
Public Property granularity() As String
End Class
Public Class DataSets
Public Property activity() As Activity
End Class
Public Class RootObject
Public Property dataSets() As DataSets
End Class
If anyone has any suggestions or ideas, it would be greatly appreciated!

JSON Serailizing with VB.NET

I am trying to serialise some JSON from nested objects into a string. However I am having issues with the arrays within the objects
Class RequestTaxes
Public Property usrname As String
Public Property pswrd As String
Public Property isAudit As Boolean
Public Property currn As String
Public Property lines() As TaxLines
End Class
Class TaxLines
Public Property debCredIndr As Integer
Public Property goodSrvCd As String
Public Property grossAmt As Double
Public Property lnItmId As String
Public Property qnty As Double
Public Property trnTp As Integer
Public Property accntDt As DateTime
Public Property custVendName As String
Public Property custVendCd As String
Public Property orgCd As String
End Class
However when I try to pass the serialised string to the API It is refused because the square brackets around the "lines" list are missing.
Does anyone know who to put these in when using Newtonsoft?
Dim Settings As New JsonSerializerSettings
Settings.NullValueHandling = NullValueHandling.Ignore
Dim InputString As String = JsonConvert.SerializeObject(message, Settings)
"message" contains a populated object of type RequestTaxes
I think you have your property declarations a bit off.
Public Property lines() As TaxLines
is equivalent to
Public Property lines As TaxLines
meaning that your TaxLines is only a single instance, not an array.
You need to add parantheses at the end of the line like so:
Public Property lines() As TaxLines()
I actually needed to do
Public Property lines As List(of TaxLines)

JSON Deserialization into VB.Net object

I've read other answers, but I still seem lost. I am trying to bring JSON into my objects. I call a JSON string through an API, and I want to convert it into the objects after the RequestManager. Am I missing methods or something? Also, the returnChampions2 function is wrong. I posted part of the JSON string after the methods, it's really long.
Public Class RequestManager
Public Function returnChampions2(ByVal strRegion As String) As LeagueChampionMaster
Dim strRequest As String = "https://global.api.pvp.net/api/lol/static-data/" + strRegion + "/v1.2/champion?api_key=" + _APIKey
Return JsonConvert.DeserializeObject(Of LeagueChampionMaster)(returnJSONRequest(strRequest))
End Function
Public Class LeagueChampionMaster
Private _Type As String
Private _Version As String
Private _Data As LeagueChampion()
End Class
Public Class LeagueChampion
Private _ID As Integer
Private _Key As String
Private _Name As String
Private _Title As String
End Class
The json:
{"type":"champion","version":"6.24.1","data":{"Jax":{"id":24,"key":"Jax","name":"Jax","title":"Grandmaster
at Arms"},"Sona":{"id":37,"key":"Sona","name":"Sona","title":"Maven of
the
Strings"},"Tristana":{"id":18,"key":"Tristana","name":"Tristana","title":"the
Yordle
Gunner"},"Varus":{"id":110,"key":"Varus","name":"Varus","title":"the
Arrow of
Retribution"},"Fiora":{"id":114,"key":"Fiora","name":"Fiora","title":"the
Grand
Duelist"},"Singed":{"id":27,"key":"Singed","name":"Singed","title":"the
Mad Chemist"},"TahmKench":{"id":223,"key":"TahmKench","name":"Tahm
Kench","title":"the River
King"},"Leblanc":{"id":7,"key":"Leblanc","name":"LeBlanc","title":"the
Deceiver"},"Thresh":{"id":412,"key":"Thresh","name":"Thresh","title":"the
Chain
Warden"},"Karma":{"id":43,"key":"Karma","name":"Karma","title":"the
Enlightened
One"},"Jhin":{"id":202,"key":"Jhin","name":"Jhin","title":"the
Virtuoso"},"Rumble":{"id":68,"key":"Rumble","name":"Rumble","title":"the
Mechanized
Menace"},"Udyr":{"id":77,"key":"Udyr","name":"Udyr","title":"the
Spirit Walker"},"LeeSin":{"id":64,"key":"LeeSin","name":"Lee
Sin","title":"the Blind
Monk"},"Yorick":{"id":83,"key":"Yorick","name":"Yorick","title":"Shepherd
of
Souls"},"Kassadin":{"id":38,"key":"Kassadin","name":"Kassadin","title":"the
Void
Walker"},"Sivir":{"id":15,"key":"Sivir","name":"Sivir","title":"the
Battle
Mistress"},"MissFortune":{"id":21,"key":"MissFortune","name":"Miss
Fortune","title":"the Bounty
Hunter"},"Draven":{"id":119,"key":"Draven","name":"Draven","title":"the
Glorious
Executioner"},"Yasuo":{"id":157,"key":"Yasuo","name":"Yasuo","title":"the
Unforgiven"},"Kayle":{"id":10,"key":"Kayle","name":"Kayle","title":"The
Judicator"},"Shaco":{"id":35,"key":"Shaco","name":"Shaco","title":"the
Demon
Jester"},"Renekton":{"id":58,"key":"Renekton","name":"Renekton","title":"the
Butcher of the
Sands"},"Hecarim":{"id":120,"key":"Hecarim","name":"Hecarim","title":"the
Shadow of
War"},"Fizz":{"id":105,"key":"Fizz","name":"Fizz","title":"the Tidal
Trickster"}}}
You have several issues. You should know that if you copy the json to the clipboard, Edit -> Paste Special -> Paste Json as Classes Visual Studio will create the classes for you to give you a decent starting point. In this case, the tool is a little dense and will create umpteen identical classes for "Fizz", "Shaco" etc. You have already normalized that.
However, with all the properties Private you wont be able to access the data. Then, the property names are wrong. The json key of id or key will not map/deserialize to _id or _key because they do not match. Lastly, the data collection should be a Dictionary. The key for each player/champion/item will be used as the Dictionary key:
Public Class LeagueContainer
Public Property type As String
Public Property version As String
Public Property data As Dictionary(Of String, DataItem)
End Class
Public Class DataItem
Public Property id As Integer
Public Property key As String
Public Property name As String
Public Property title As String
End Class
usage:
Dim jstr = ... from where ever ...
Dim myData = JsonConvert.DeserializeObject(Of LeagueContainer)(jstr)
' print the keys
For Each kvp In myData.data
Console.WriteLine(kvp.Key)
Next
' what is Yorick's title?
Console.WriteLine("Yorick is '{0}'", myData.data("Yorick").title)
(Partial) Output:
Jax
Sona
Tristana
Varus
Fiora
...
Yorick is 'Shepherd of Souls'

Json parsing issue in vb.net

I need to parse following json in vb.net. I'm using Json.net but do not know how to do it.
Problem occurs in scan result contains scan detail that conaints anti virus name with some detail. but all the anti-virus is object not an array. So please any body tell me how to do it.
{"file_id":"aaa60a443e3a4426944da9e6fe8a3f3c","scan_results":{"scan_details":{"AegisLab":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Agnitum":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Ahnlab":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-24T00:00:00Z","scan_time":1.0},"Antiy":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"AVG":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Avira":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"BitDefender":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"ByteHero":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"ClamWin":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"CYREN":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"DrWebGateway":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Emsisoft":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"ESET":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Filseclab":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Fortinet":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"F-prot":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"F-secure":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"GFI":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Hauri":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Ikarus":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Jiangmin":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"K7":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-20T00:00:00Z","scan_time":1.0},"Kaspersky":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Lavasoft":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"McAfee-Gateway":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Microsoft":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"NANO":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"nProtect":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Preventon":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"QuickHeal":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Sophos":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"STOPzilla":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-21T00:00:00Z","scan_time":1.0},"SUPERAntiSpyware":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Symantec":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Tencent":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"TotalDefense":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"TrendMicro":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-21T00:00:00Z","scan_time":1.0},"TrendMicroHouseCall":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-21T00:00:00Z","scan_time":1.0},"VirIT":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-20T00:00:00Z","scan_time":1.0},"VirusBlokAda":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-20T00:00:00Z","scan_time":1.0},"Xvirus":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-23T00:00:00Z","scan_time":1.0},"Zillya!":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-22T00:00:00Z","scan_time":1.0},"Zoner":{"scan_result_i":0,"threat_found":"","def_time":"2015-02-18T00:00:00Z","scan_time":1.0}},"rescan_available":true,"data_id":"32fe182492834b6f88b1d95f6a14c886","scan_all_result_i":0,"start_time":"2015-02-23T13:10:55.549Z","total_time":1.0,"total_avs":43,"progress_percentage":100,"in_queue":0,"scan_all_result_a":"Clean"},"file_info":{"file_size":0,"upload_timestamp":"2015-02-23T00:40:41.029Z","md5":"D41D8CD98F00B204E9800998ECF8427E","sha1":"DA39A3EE5E6B4B0D3255BFEF95601890AFD80709","sha256":"E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855","file_type_category":"O","file_type_description":"empty","file_type_extension":"-","display_name":"C:\\testy.xml"},"data_id":"32fe182492834b6f88b1d95f6a14c886"}
First, you need to create a class (or multiple) that can represent the data you want to deserialize.
Looking at the input string you provided, you need a class for FileInfo, ScanDetail, ScanResults and one for the root (let's call it Scan).
It's simply a matter of mapping the JSON keys to a class property (and a dictionary for ScanDetail, since you probably don't want a property for each of it).
So, your classes should look like this:
public class Scan
public property file_id() as string
public property scan_results() AS ScanResults
public property file_info() as FileInfo
public property data_id() as string
End Class
public class ScanResults
public property scan_details As Dictionary(Of string, ScanDetail)
Public Property rescan_available() As Boolean
Public Property data_id() As String
Public Property scan_all_result_i() As Integer
Public Property start_time() As String
Public Property total_time() As Double
Public Property total_avs() As Integer
Public Property progress_percentage() As Integer
Public Property in_queue() As Integer
Public Property scan_all_result_a() As String
End Class
public class ScanDetail
public property scan_result_i() As integer
public property threat_found() as string
public property def_time() as string
public property scan_time() as string
End class
Public Class FileInfo
Public Property file_size() As Integer
Public Property upload_timestamp() As String
Public Property md5() As String
Public Property sha1() As String
Public Property sha256() As String
Public Property file_type_category() As String
Public Property file_type_description() As String
Public Property file_type_extension() As String
Public Property display_name() As String
End Class
Now the deserializing is as easy as
Dim details = NewtonSoft.JSon.JsonConvert.DeserializeObject(Of Scan)(your_json_string)
To get all threat_found values, you can easily query the result:
Dim threats = details.scan_results.scan_details.Select(Function(kvp) kvp.Value.threat_found) _
.Where(Function(t) Not String.IsNullOrWhiteSpace(t)) _
.ToList()
Here is how to deserialize that JSON string assuming you have referenced Json.Net. What you get is a dynamic object with property names the same as the JSON property names. If you were to create a Class with the correct properties you could also deserialize into that specific type and you would have the benefit of strong typing. Put a break point after this code and run with Debug. Look in the Locals window and you can inspect "theobj"'s properties.
Dim obj As String = "{""file_id"":""aaa60a443e3a4426944da9e6fe8a3f3c"",""scan_results"":{""scan_details"":{""AegisLab"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Agnitum"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Ahnlab"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-24T00:00:00Z"",""scan_time"":1.0},""Antiy"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""AVG"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Avira"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""BitDefender"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""ByteHero"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""ClamWin"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""CYREN"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""DrWebGateway"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Emsisoft"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""ESET"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Filseclab"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Fortinet"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""F-prot"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""F-secure"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""GFI"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Hauri"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Ikarus"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Jiangmin"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""K7"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-20T00:00:00Z"",""scan_time"":1.0},""Kaspersky"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Lavasoft"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""McAfee-Gateway"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Microsoft"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""NANO"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""nProtect"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Preventon"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""QuickHeal"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Sophos"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""STOPzilla"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-21T00:00:00Z"",""scan_time"":1.0},""SUPERAntiSpyware"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Symantec"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Tencent"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""TotalDefense"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""TrendMicro"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-21T00:00:00Z"",""scan_time"":1.0},""TrendMicroHouseCall"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-21T00:00:00Z"",""scan_time"":1.0},""VirIT"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-20T00:00:00Z"",""scan_time"":1.0},""VirusBlokAda"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-20T00:00:00Z"",""scan_time"":1.0},""Xvirus"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-23T00:00:00Z"",""scan_time"":1.0},""Zillya!"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-22T00:00:00Z"",""scan_time"":1.0},""Zoner"":{""scan_result_i"":0,""threat_found"":"""",""def_time"":""2015-02-18T00:00:00Z"",""scan_time"":1.0}},""rescan_available"":true,""data_id"":""32fe182492834b6f88b1d95f6a14c886"",""scan_all_result_i"":0,""start_time"":""2015-02-23T13:10:55.549Z"",""total_time"":1.0,""total_avs"":43,""progress_percentage"":100,""in_queue"":0,""scan_all_result_a"":""Clean""},""file_info"":{""file_size"":0,""upload_timestamp"":""2015-02-23T00:40:41.029Z"",""md5"":""D41D8CD98F00B204E9800998ECF8427E"",""sha1"":""DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"",""sha256"":""E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"",""file_type_category"":""O"",""file_type_description"":""empty"",""file_type_extension"":""-"",""display_name"":""C:\\testy.xml""},""data_id"":""32fe182492834b6f88b1d95f6a14c886""}"
Dim theobj = JsonConvert.DeserializeObject(obj)
Thanks for your reply guys. I have done it by following code snippet
Dim jsonstring = IO.File.ReadAllText("C:\\Users\\Administrator\\Desktop\\json.txt")
Dim jo = Newtonsoft.Json.Linq.JObject.Parse(jsonstring)
Dim scanDetail = jo("scan_results")("scan_details")
Dim virusCount As Integer
virusCount = 0
For Each entry As Newtonsoft.Json.Linq.JProperty In scanDetail
entry.CreateReader()
Console.WriteLine(entry.Name)
For Each Val As Object In entry
Dim abc = Newtonsoft.Json.Linq.JObject.Parse(Val.ToString())
Dim threatFound As String = abc("threat_found")
Dim result As Integer = String.Compare(threatFound, "")
If result = -1 Then
virusCount = virusCount + 1
End If
Next
Next
If virusCount = 0 Then
Console.WriteLine("No Virus")
Else
Console.WriteLine("Virus")
End If