Object in string

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Object in string

    hallo,

    ich habe ein Object mit Count=3 und möchter gerne die 3 Elemente in jeweils ein String speicher. kann mir jemand helfen?

    ich werte ein JSON string aus mit folgender Funktion:

    Quellcode

    1. Dim json = New DataContractJsonSerializer(GetType(List(Of FooDef)))
    2. 'Dim bar = "[{""name"":""numToRe"",""value"":""3"",""label"":""Number of items to retrieve:"",""items"":{""1"":""1"",""3"":""3"",""5"":""5""},""rules"":{""range"":""1-2""}},{""name"":""showFoo"",""value"":""on"",""label"":""Show foo?""},{""name"":""title"",""value"":""Foo"",""label"":""Foo:""}]"
    3. 'Dim bar = "[{""unit"":""W"",""meta"":""GriPwr"",""name"":""GriPwr"",""value"":""337""},{""unit"":""kWh"",""meta"":""GriEgyTdy"",""name"":""GriEgyTdy"",""value"":""0.713""},{""unit"":""kWh"",""meta"":""GriEgyTot"",""name"":""GriEgyTot"",""value"":""43617.347""}]" ',{""unit"":"",""meta"":""OpStt"",""name"":""OpStt"",""value"":""},{""unit"":"",""meta"":""Msg"",""name"":""Msg"",""value"":""}]},""proc"":""GetPlantOverview"",""version"":""1.0"",""id"":""1""}"
    4. Dim bar = Results
    5. Dim stream = New MemoryStream(Encoding.UTF8.GetBytes(bar))
    6. Dim foo = Json.ReadObject(Stream)
    7. stream.Close()


    in foo erhalte ich die info wenn in mit der maus drüber fahr "Count=3" und die entsprechende Werte sind auch hinterlegt. nur wie kann ich diese in einen string kopieren?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „bastler“ ()

    Ein Object hat keine Eigenschaft Count. Du meinst damit wohl ICollection welches im weitesten Sinn natürlich wieder ein Object ist. Aber gehen wir davon aus du hast ein Object würde das so aussehen(von c# übersetzt):

    VB.NET-Quellcode

    1. TryCast(obj, ICollection).[Select](Function(x) x.ToString())


    Das kannste jetzt wieder in ne Liste mit Strings umändern indem du hinten ein .ToList() anhängst. Dann hast du wieder eine List<String> und kannst z.B. über einen Index (z.b. meineListe(0)) auf den ersten String zugreifen.

    EDIT: Was jetzt? Erst sagst du "in jeweils ein String speicher" --> für jedes Element einen extra String. Und nun ganz unten "nur wie kann ich diese in einen string kopieren".
    Wenn du alles in einem String haben möchtest sage ich mal der Einfachkeit halber sowas:
    Du nimmst die Lösung von oben und machst noch nen String.Concat(...) rund herum: Sprich:

    VB.NET-Quellcode

    1. String.Concat(TryCast(obj, ICollection).[Select](Function(x) x.ToString()))


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „thefiloe“ ()