Array Hilfe

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von VBNEWBIE1987.

    Hallo wie kann ich die werte, aus dem String abrufen
    kann da einer helfen
    DANKE

    VB.NET-Quellcode

    1. Dim str as String = "{"id":1,"name":"hallo","profileIconId":2}"




    txtbx1.text = 1

    txtbx2.text = hallo

    txtbx3.text = 2

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

    Mt einer For-Schleife kannst du das array durchlaufen und dir die werte raufholen

    Das schluckt dein VS? Da erwartet das eine End-of-Anweisung, da das kein korrekter String ist.
    Zudem, was ist da mit nem Array?

    @Patrick1993: Wo ist da nen Array?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Trade:
    Jetzt wo du es sagst ... hatte mich durch die : iritieren lassen

    Ähm, wieso :? Ein normales String-Array wäre sowieso ganz anders aufgebaut.

    VB.NET-Quellcode

    1. Dim ar As String() = {"foo", "bar"}
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Willkommen im Forum. :thumbup:

    VBNEWBIE1987 schrieb:

    VB.NET-Quellcode

    1. Dim str as String = "{"id":1,"name":"hallo","profileIconId":2}"
    Ich nehme mal an, Du meinst dies:

    VB.NET-Quellcode

    1. Dim str as String = "{""id"":1,""name"":""hallo"",""profileIconId"":2}"
    2. Dim parts() = str.Split(","c)
    3. For Each part in parts
    4. Dim parts2() = part.Split(":"c)
    5. MessageBox.Show(parts2(1))
    6. Next
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    das ist der String den ich als Rückgabe wert habe,
    aus diesem String möchte ich die werte,
    kein plan wie ich es anstellen sol

    VB.NET-Quellcode

    1. {"id":123456,"name":"User","profileIconId":539}


    {
    "id":123456,
    "name":"User",
    "profileIconId":539
    }

    VB.NET-Quellcode

    1. lbl1.text = 123456 'As Integer

    VB.NET-Quellcode

    1. lbl2.text = User 'As String

    VB.NET-Quellcode

    1. lbl3.text = 539 'As Integer

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

    1. Option Strict On
    2. Das ist kein String
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

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

    VBNEWBIE1987 schrieb:

    ich

    bin lernresistent?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Der String enthält JSON-kodierte Daten.

    [VB.NET] [WCF] Verarbeitung von JSON
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Ah k, JSON war mir noch garnicht bekannt... Na dann, das sah halt deshalb falsch aus.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hallo VBNEWBIE1987,

    Wie oben schon beschrieben, handelt es sich hier um einen JSON-String. Dieser wird benutzt, um Daten komprimiert zu übertragen/speichern. Das Ganze kommt aus dem Java-Bereich. Nutze folgenden Code, um die Daten zu bekommen:

    Setze einen Verweis auf "System.Runtime.Serialization" und importiere folgende beiden Namespaces:
    System.Runtime.Serialization.Json
    System.Runtime.Serialization

    Füge nun folgende Funktion in die Klasse:

    VB.NET-Quellcode

    1. Private Shared Function ParseInfoFromString(Str$) As JSONInfo
    2. Using MS As New MemoryStream(Encoding.UTF8.GetBytes(Str))
    3. Dim Serializer As New DataContractJsonSerializer(GetType(JSONInfo))
    4. ParseInfoFromString = CType(Serializer.ReadObject(MS), JSONInfo)
    5. MS.Close()
    6. End Using
    7. End Function


    Das ist die Klasse, die du zurückbekommst:

    VB.NET-Quellcode

    1. <DataContract> Public Class JSONInfo
    2. <DataMember> Property id%
    3. <DataMember> Property name$
    4. <DataMember> Property profileIconId%
    5. End Class


    Aufrufen kannst du das Ganze dann in etwa so:

    VB.NET-Quellcode

    1. Dim JSONString = "{""id"":1,""name"":""hallo"",""profileIconId"":2}"
    2. Dim Info = ParseInfoFromString(JSONString)
    3. Dim ID = Info.id
    4. Dim Name = Info.name
    5. Dim ProfileIsonID = Info.profileIconId


    PS: Ungetestet, müsste aber hinhauen...
    PPS: Nachträglich Willkommen im Forum! :thumbsup:
    @Higlav: Ich sehe den Sinn nicht, ihm das alles nochmal vorzukauen und C&P-fertig aufzubereiten. Tutorials und Anleitungen sind mMn dazu da, dass man sie sich selbst zu Gemüte führt.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    VB.NET-Quellcode

    1. Dim Info = ParseInfoFromString(JSONString)


    bekomme hier immer einen Fehler

    habe schon einiges ausprobiert, ohne erfolg


    Fehler 1 "ParseInfoFromString" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden.

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

    VBNEWBIE1987 schrieb:

    bekomme hier immer einen Fehler

    gngngngngngngngngngngngngn :pinch:

    Schade, ich habs versucht, aber ich hab einfach keine telepathische Verbindung zu deinem PC aufbauen können.

    Ich verstehe immer noch nicht, wie manche Leute auf die Idee kommen, von jemand anderem Hilfe zu erwarten, wenn sie nichtmal sagen, welchen Fehler sie bei etwas bekommen. Hellsehen kann hier keiner, Kleiner...
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.
    Danke für eure Hilfe, hat leider nicht funktioniert,

    liegt nicht an euch, sondern an mir, und ich wollte euch nicht auf den Wecker gehen, XD

    ich hab jetzt erst damit angefangen und auch nur so als zeit vertreib, Hobby mäßig, :)

    habe was gefunden was funktioniert


    [VB 2010] JSON Parser für Visual Basic


    VB.NET-Quellcode

    1. Public Class Form1 Dim json As String = "{""id"": ""100001363520746"", ""name"": ""Jenni Hapunkt"", ""first_name"": ""Jenni"", ""last_name"": ""Hapunkt"", ""gender"": ""female"",""locale"": ""de_DE"" }"
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
    3. ' javascript serialisierer
    4. Dim jsonSerializer As New System.Web.Script.Serialization.JavaScriptSerializer
    5. ' generisch zu json dictionary konvertieren
    6. Dim dict1 As Dictionary(Of String, Object) = jsonSerializer.Deserialize(Of Dictionary(Of String, Object))(json)
    7. ' oder standardmässig über deserializeobject + casten
    8. Dim o As Object = jsonSerializer.DeserializeObject(json)
    9. Dim dict2 As Dictionary(Of String, Object) = DirectCast(o, Dictionary(Of String, Object))
    10. ' ansprechen kann man es jetzt einfach
    11. MessageBox.Show(CStr(dict1("id"))) ' die objekte im dict müssen noch richtig gecastet werden
    12. MessageBox.Show(CStr(dict2("first_name")))
    13. End Sub End Class


    DLL C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Extensions.dll

    meinen dank an alle, cooles Forum sehr hilfsbereit,