Une bibliothèque pour gérer facilement JSON. Il peut être implémenté avec un code plus simple en utilisant une bibliothèque lors de l'analyse de JSON.
Veuillez vous référer au document ci-joint. https://github.com/SwiftyJSON/SwiftyJSON
Cette fois, je ne pense pas que l'analyse sera effectuée en référence au JSON acquis dans l'article ** [Swift5] Conversion des résultats d'analyse acquis par «IBM Watson Tone Analyzer» en JSON ** posté la dernière fois. Si vous n'avez pas encore vu l'article précédent, veuillez d'abord le lire.
▼ Article précédent https://qiita.com/nkekisasa222/items/3304cb77d78d9adfe8ac
Tout d'abord, installez le pod dans le Podfile
.
podfile.
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'nom de l'application' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
#Pods pour le nom de l'application
pod 'SwiftyJSON'
end
Ensuite, exécutez $ pod install
dans le terminal pour` importer le Swifty JSON de l'application dans le contrôleur que vous souhaitez utiliser.
ViewController.swift
import UIKit
import SwiftyJSON //Décrivez ici
Dans l'article précédent, j'ai converti les résultats de l'analyse au format JSON. Voici le contenu.
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"
}
]
}
}
Cette fois, je veux obtenir les valeurs de "" score "" et "" tone_name "" dans le tableau "" tones "" de "document_tone" ".
ViewController.swift
let jsonValue = JSON(json)
let tonesScore = jsonValue["document_tone"]["tones"][self.count]["score"].float
Tout d'abord, créez une jsonValue
avec la valeur json
à laquelle le résultat de l'analyse des émotions est affecté en tant que JSON
. (Désolé pour la façon déroutante de le dire lol)
Ensuite, analysez.
jsonValue [" document_tone "] [" tones "] [self.count] [" score "] .float
Vous pouvez obtenir la valeur en spécifiant comme ceci. C'est vraiment simple et facile à comprendre, n'est-ce pas?
(1) Il ne peut être obtenu que si la structure du tableau de «jsonValue», qui est le résultat de l'analyse, est comprise. (2) On suppose que le "self.count" utilisé cette fois définit le "nombre de variables membres". De plus, «soi» est décrit parce qu'il est dans la fermeture.
Vous devriez maintenant pouvoir obtenir le score
.
Cependant, étant donné que la valeur du score est redondante telle quelle, la virgule décimale est arrondie pour l'obtenir.
ViewController.swift
let jsonValue = JSON(json)
let tonesScore = jsonValue["document_tone"]["tones"][self.count]["score"].float
//Obtenez des notes en arrondissant la virgule décimale
let decimal = tonesScore
let decimalPoint = ceil(decimal! * 100)/100
let tone_score = decimalPoint
Ensuite, récupérez le tone_name
.
ViewController.swift
let tonesName = jsonValue["document_tone"]["tones"][self.count]["tone_name"].string
let tone_name = tonesName
Maintenant que vous avez le " score "
et le " tone_name "
dans le tableau " tones "
de " document_tone "
, vérifions avecprint ()
. ..
ViewController.swift
print("=====Confirmation de l'acquisition individuelle=====")
print("document_tone.score : \(tone_score)")
print("document_tone.tone_name: \(tone_name)")
résultat...
=====Confirmation de l'acquisition individuelle=====
document_tone.score : 0.62
document_tone.tone_name: Optional("Sadness")
Vous pouvez l'obtenir en arrondissant fermement la virgule décimale. Au fait, «tristesse» de «ton_nom» signifie «tristesse», donc vous pouvez voir que l'analyse des émotions est également effectuée.
C'est un succès!
Cette fois, j'ai posté sur la bibliothèque SwiftyJSON
qui rend JSON facile à gérer.
Récemment, je pense qu'il existe de nombreuses opportunités d'entrer en contact avec JSON tout en apprenant rapidement.
En ce sens, Swifty JSON est une bibliothèque indispensable car elle peut être décrite simplement.
Veuillez vous y référer! Merci d'avoir regardé jusqu'à la fin!
Recommended Posts