Как спарсить простой json в Table View Cell

swift
json
tableviewcell
ios

#1

Подскажите как спарсить информацию по ссылке json в Table View Cell

Вот пример:

{
“rows”: [
{
“id”: “7”,
“pagetitle”: “Black Party”,
“parent”: “6”,
“tv_img”: “assets/images/news/1.jpg”
},
{
“id”: “12”,
“pagetitle”: “\u0412\u0441\u0435 \u043d\u0430 \u0442\u0430\u043d\u0446\u043f\u043e\u043b”,
“parent”: “6”,
“tv_img”: “assets/images/news/3.jpg”
},
{
“id”: “8”,
“pagetitle”: “\u041d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u044f\u044f \u0432\u0435\u0447\u0435\u0440\u0438\u043d\u043a\u0430”,
“parent”: “6”,
“tv_img”: “assets/images/news/2.jpg”
}
],
“total”: “3”
}


#2

#3

Спасибо, я это уже проделал, по нему все ок получается.
А вот подставляя свой джейсон не парсит ничего. (


#4

У меня json вроде еще проще но никак не могу связать все(
Можете помочь?


#5

да я сам новичок, не особо шарю


#6

Написал и увидел ошибку( оказывается в конце у меня в ссылке .html проставлялся автоматически.
Данные поступают, теперь еще как нибыдь бы связать с Table View Cell ))


#7

как то нужно взять ваши данные в массив и заполнить tableView я так думаю


#8

:smiley:
ну это понятно)


#9

Получился вот такой неработающий код ((

Помогите пожалуйста воткнуть данные в тейбл вю

//
// FirstViewController.swift
// The Loft
//
// Created by dlilb inc. on 11.11.2017.
// Copyright © 2017 dlilb inc. All rights reserved.
//

import UIKit

struct myRows: Decodable {
var rows: [massiv]
}

struct massiv: Decodable {
var id: String
var pagetitle: String
var parent: String
}

class FirstViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return (animals.count)
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! FirstTableViewCell

    
    cell.myLabel.text = myRows[indexPath.row].pagetitle
    
    return (cell)
    
    
}


override func viewDidLoad() {
    super.viewDidLoad()

    
    
    
    
    let urlString = "http://theloft.su/ios/json_meropriyatiya.json"
    
    guard let url = URL(string: urlString) else {return}
    
    URLSession.shared.dataTask(with: url) { (data, response, error) in
        guard let data = data else {return}
        guard error == nil else {return}
        
        do {

            let myJSON = try JSONDecoder().decode(myRows.self, from: data)
            
            print(myJSON)
        } catch let error {
            print(error)
        }
        }.resume()
    

    
}



override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

}