[Swift5] Mit der Bibliothek 'SwiftyJSON' Array- (Einzel-) Informationen von JSON abrufen.

Was ist Swifty JSON?

Eine Bibliothek für die einfache Handhabung von JSON. Es kann mit einfacherem Code implementiert werden, indem beim Parsen von JSON eine Bibliothek verwendet wird.

Bitte beachten Sie das beigefügte Dokument. https://github.com/SwiftyJSON/SwiftyJSON

Punkte posten

Dieses Mal glaube ich nicht, dass die Analyse unter Bezugnahme auf den im Artikel ** [Swift5] erfassten JSON durchgeführt wird. Konvertieren der von "IBM Watson Tone Analyzer" erfassten Analyseergebnisse in JSON **, das zuletzt veröffentlicht wurde. Wenn Sie den vorherigen Artikel noch nicht gesehen haben, lesen Sie dies bitte zuerst.

▼ Vorheriger Artikel https://qiita.com/nkekisasa222/items/3304cb77d78d9adfe8ac

Bibliotheksinstallation

Installieren Sie zuerst den Pod in der Pod-Datei.

podfile.


# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'App Name' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  #Pods für App-Namen

pod 'SwiftyJSON'
end

Führen Sie dann "$ pod install" im Terminal aus, um "Swifty JSON" der Anwendung in den Controller zu importieren, den Sie verwenden möchten ".

ViewController.swift


import UIKit
import SwiftyJSON //Beschreiben Sie hier

Bestätigung des diesmal zu erwerbenden Wertes

Im vorherigen Artikel habe ich die Analyseergebnisse in das JSON-Format konvertiert. Das Folgende ist der Inhalt.

JSON.


JSON: {
  "sentences_tone" : [
    {
      "sentence_id" : 0,
      "text" : "Team, I know that times are tough!",
      "tones" : [
        {
          "score" : 0.80182699999999996,
          "tone_id" : "analytical",
          "tone_name" : "Analytical"
        }
      ]
    },
    {
      "sentence_id" : 1,
      "text" : "Product sales have been disappointing for the past three quarters.",
      "tones" : [
        {
          "score" : 0.77124099999999995,
          "tone_id" : "sadness",
          "tone_name" : "Sadness"
        },
        {
          "score" : 0.68776800000000005,
          "tone_id" : "analytical",
          "tone_name" : "Analytical"
        }
      ]
    },
    {
      "sentence_id" : 2,
      "text" : "We have a competitive product, but we need to do a better job of selling it!",
      "tones" : [
        {
          "score" : 0.50676299999999996,
          "tone_id" : "analytical",
          "tone_name" : "Analytical"
        }
      ]
    }
  ],
  "document_tone" : {
    "tones" : [
      {
        "score" : 0.61650000000000005,
        "tone_id" : "sadness",
        "tone_name" : "Sadness"
      },
      {
        "score" : 0.82988799999999996,
        "tone_id" : "analytical",
        "tone_name" : "Analytical"
      }
    ]
  }
}

Dieses Mal möchte ich die Werte von "Score" und "Tone_name" im Array "Tones" von "document_tone" erhalten.

Führen Sie eine JSON-Analyse durch

ViewController.swift


let jsonValue = JSON(json)
let tonesScore = jsonValue["document_tone"]["tones"][self.count]["score"].float

Erstellen Sie zunächst einen "jsonValue" mit dem "Wert json", dem das Ergebnis der Emotionsanalyse als "JSON" zugewiesen wird. (Entschuldigung für die verwirrende Art, es zu sagen lol)

Als nächstes analysieren. jsonValue [" document_tone "] [" tones "] [self.count] [" score "] .float Sie können den Wert erhalten, indem Sie ihn wie folgt angeben. Es ist wirklich einfach und leicht zu verstehen, nicht wahr?

Als Einschränkung

(1) Es kann nur erhalten werden, wenn die Struktur des Arrays von "jsonValue", das das Analyseergebnis ist, verstanden wird. (2) Es wird angenommen, dass die diesmal verwendete "self.count" die "Anzahl der Mitgliedsvariablen" definiert. Außerdem wird "self" beschrieben, weil es sich im Verschluss befindet.

Sie sollten jetzt in der Lage sein, die "Punktzahl" zu erhalten. Da der Bewertungswert jedoch redundant ist, wird der Dezimalpunkt aufgerundet, um ihn zu erhalten.

ViewController.swift


let jsonValue = JSON(json)
let tonesScore = jsonValue["document_tone"]["tones"][self.count]["score"].float

//Holen Sie sich tonesScore, indem Sie den Dezimalpunkt aufrunden
let decimal = tonesScore
let decimalPoint = ceil(decimal! * 100)/100
let tone_score = decimalPoint

Dann holen Sie sich den Tonnamen.

ViewController.swift


let tonesName = jsonValue["document_tone"]["tones"][self.count]["tone_name"].string
let tone_name = tonesName

Nun, ich denke, Sie können die "Punktzahl" und den "Tonnamen" im Array "Töne" von "document_tone" abrufen, also lassen Sie es uns mit "print ()" überprüfen. ..

ViewController.swift


print("=====Bestätigung der individuellen Akquisition=====")
print("document_tone.score    : \(tone_score)")
print("document_tone.tone_name: \(tone_name)")

Ergebnis...

=====Bestätigung der individuellen Akquisition=====
document_tone.score    : 0.62
document_tone.tone_name: Optional("Sadness")

Sie können es erhalten, indem Sie den Dezimalpunkt fest aufrunden. Übrigens bedeutet "Traurigkeit" von "Tonname" "Traurigkeit", sodass Sie sehen können, dass auch eine Emotionsanalyse durchgeführt wird.

Es ist ein Erfolg!

Schließlich

Dieses Mal habe ich über die Bibliothek "SwiftyJSON" geschrieben, mit der JSON einfach zu handhaben ist. In letzter Zeit gibt es meiner Meinung nach viele Möglichkeiten, mit JSON in Kontakt zu treten, während Sie schnell lernen. In diesem Sinne ist Swifty JSON eine unverzichtbare Bibliothek, da es einfach beschrieben werden kann.

Bitte nehmen Sie Bezug darauf! Danke, dass du bis zum Ende zugesehen hast!

Recommended Posts

[Swift5] Mit der Bibliothek 'SwiftyJSON' Array- (Einzel-) Informationen von JSON abrufen.
[Ethereum] Blockinformationen mit web3j abrufen
Abrufen von Anruferinformationen aus dem Stack-Trace (Java)
[Java] Tag-Informationen aus Musikdateien abrufen
Holen Sie sich "2-4, 7, 9" aus [4, 7, 9, 2, 3]
[Java] Ruft Werte zufällig aus einem Array ab