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
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
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
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.
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?
(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!
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