Comment charger des données dans ViewController locales fichier JSON
Je suis le développement d'une application iPhone, et j'ai besoin d'afficher les données stockées dans un TableView.
Après quelques recherches, j'ai décidé que JSON serait mieux adaptée pour stocker les données. Cependant, je ne pouvais pas trouver toutes les tutoriels expliquant comment lire JSON sous la forme d'un fichier local plutôt que de
à partir d'une source distante, comme c'est souvent le cas.
Des didacticiels vous pourriez recommander?
- Quand vous dites fichier local, vous dites que le fichier JSON est stocké dans le répertoire Documents ou incorporé comme une ressource dans l'app bundle?
- Par la voie, tandis que JSON est un beau format (esp pour échanger des données avec un serveur), si c'est une ressource locale seulement, liste des propriétés de l' (aka un "plist" fichier) qui pourrait être plus simple. Vous créez une liste de propriétés du fichier avec
[dictionary writeToFile:path atomically:YES];
. Vous lisez un fichier plist avecNSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:path];
. C'est moins lourd que l'utilisation de JSON.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
NSJSONSerialization
pour cela.NSURL
ne dispose pas d'une méthode nomméeurlWithString
. Si vous souhaitez créer unNSURL
à partir d'un chemin d'accès au fichier, vous devez utiliserNSURL fileURLWithPath:
.URLWithString
. Mais vous avez raisonfileURLWithPath:
est le chemin à parcourir pour les chemins de fichierNSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"employees" ofType:@"json"]; NSData *data = [NSData dataWithContentsOfFile:jsonPath]; NSError *error = nil; id json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
Tout d'abord: vous devez charger votre local chaîne json. En supposant que le jsonstring est à l'intérieur de votre projet, à la charge, créez d'abord nsstring pointant vers le fichier:
deuxième, charger les données du fichier:
troisième, analyser les données: