Auslesen der Permission aus einem Object (json)

  • VB.NET
  • .NET (FX) 4.0

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

    Auslesen der Permission aus einem Object (json)

    Guten abend zusammen...

    Ich habe es mit meinen Kollegen geschaft, dass er die Daten über eine SSL Lizenz zum Clienten sendet und auch Verarbeitet.

    Derzeit arbeiten wir am Permissionssystem, jedoch möchten wir uns viel Code ersparen und arbeiten deshalb mit Funktionen.

    Fehlermeldung:

    VB.NET-Quellcode

    1. der objektverweis wurde nicht auf eine objektinstanz festgelegt


    VB.NET-Quellcode

    1. Public Function GetPermission(ByVal jsonconnection As Object, ByRef key As String)
    2. Dim value As Int32
    3. For Index = 0 To CInt(jsonconnection.Item("response")("count").ToString)
    4. If (jsonconnection.Item("response")(Index.ToString + "")("name").ToString = key) Then
    5. value = CInt(jsonconnection.Item("response")(Index.ToString + "")("value").ToString)
    6. End If
    7. Next
    8. Return value
    9. End Function


    kurz zu Erklärung, jsonconnection beinhaltet das Object aus der Json Klasse(die funktioniert in allen anderen fällen sehr Gut).

    So Verwenden wir die Funktion

    VB.NET-Quellcode

    1. permissions = Newtonsoft.Json.Linq.JObject.Parse(GetJson("*LINK*/" + readingJson.Item("response")(Index.ToString + "")("id").ToString + ""))
    2. MsgBox(GetPermission(permissions, "show_page"))


    PHP-Quellcode

    1. /src/Template/Layout/ajax.ctp (line 6)[
    2. 'response' => [
    3. (int) 0 => object(App\Model\Entity\GroupPermission) {
    4. 'new' => false,
    5. 'accessible' => [
    6. 'group_id' => true,
    7. 'key' => true,
    8. 'value' => true,
    9. 'license' => true
    10. ],
    11. 'properties' => [
    12. 'id' => (int) 1,
    13. 'group_id' => (int) 1,
    14. 'key' => 'show_page',
    15. 'value' => (int) 1
    16. ],
    17. 'dirty' => [],
    18. 'original' => [],
    19. 'virtual' => [],
    20. 'errors' => [],
    21. 'repository' => 'GroupPermissions'
    22. },
    23. (int) 1 => object(App\Model\Entity\GroupPermission) {
    24. 'new' => false,
    25. 'accessible' => [
    26. 'group_id' => true,
    27. 'key' => true,
    28. 'value' => true,
    29. 'license' => true
    30. ],
    31. 'properties' => [
    32. 'id' => (int) 2,
    33. 'group_id' => (int) 1,
    34. 'key' => 'show_page2',
    35. 'value' => (int) 0
    36. ],
    37. 'dirty' => [],
    38. 'original' => [],
    39. 'virtual' => [],
    40. 'errors' => [],
    41. 'repository' => 'GroupPermissions'
    42. },
    43. 'count' => (int) 1
    44. ],
    45. 'code' => (int) 1
    46. ]

    so sieht die Struktur aus beachtet aber, dass es sich bei der Struktur über die Debug ansicht von CakePHP 3.1 handelt(Zur besseren Übersicht).


    Danke im vorraus

    An deim Codesnippet ist erkenntlich, dass du Strict Off proggst, und dich um Datentypen und um korrekte Deklarationen nicht kümmerst.

    Daher würde ich - noch bevor du an deim JSon-Problem weiter-arbeitest - dringend empfehlen: Visual Studio - Empfohlene Einstellungen
    Ausserdem wäre wohl ein gut Buch angeraten, etwa Löffelmann, oder von Kühnel/Leibhardt. Gibts zum kostenlosen Download: Entwickler-Ressourcen und Tools, Bücher und WebCasts

    Weil was du da am Hut hast, dafür muss man schon einigermassen programmieren können, z.B. eine Function mit dem richtigen Rückgabetyp deklarieren und sowas.
    Bau dir eine Klassenstruktur, welche dein JSON abbildet, mach dann NewtonSoft.Json.JsonConverter.Deserialize<DeinObjekt>(jsonstring) und fertig.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    @xX-Nick-Xx Gib nächstens die Zeile an, in der die Exception auftritt, da lässt sich schon einiges erkennen.
    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!