2016-04-19 19 views
14

Chuỗi để chuyển đổi:Làm thế nào để chuyển đổi một chuỗi thành JSON sử dụng SwiftyJSON

[{"description": "Hi","id":2,"img":"hi.png"},{"description": "pet","id":10,"img":"pet.png"},{"description": "Hello! :D","id":12,"img":"hello.png"}]

Mã này để chuyển đổi chuỗi:

var json = JSON(stringLiteral: stringJSON)

Chuỗi được chuyển thành JSON và khi Tôi cố tính số lượng khối trong JSON này (câu trả lời mong đợi = 3), tôi nhận được 0,

print(json.count)

Đầu ra bảng điều khiển: 0

Tôi đang thiếu gì? Trợ giúp rất được đánh giá cao.

+0

Nếu tôi nhớ nó một cách chính xác đó là: json.array.count – Darko

+0

Khi tôi in "json" nó cho thấy tôi tất cả các dữ liệu, nhưng khi tôi in "json.count "nó cho tôi thấy 0 và không phải 3: C –

Trả lời

12

Hi guys tôi sửa chữa nó từ cách này ...

lưu ý: tôi sẽ sử dụng biến "chuỗi" là biến những gì chứa JSON

mã hóa sting với NSData như thế này

var encodedString : NSData = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)! 

2º un-mã hóa chuỗi mã hóa (điều này có thể âm thanh một chút hehehe chút lạ)

var finalJSON = JSON(data: encodedString) 

và bạn có thể làm những gì bạn thích với JSON này! : D

như có được số phần trong đó (đây là câu hỏi thực sự) với

finalJSON.count hoặc print(finalJSON[0]) hay bất cứ những u muốn làm ..

như vậy, tôi hy vọng u thưởng thức đường mà tôi đã tìm thấy!

giữ mã hóa, Gabriel Cuadros: D

16

Trên thực tế, có được một chức năng tích hợp sẵn trong SwifyJSON gọi parse

/** 
Create a JSON from JSON string 
- parameter string: Normal json string like '{"a":"b"}' 

- returns: The created JSON 
*/ 
public static func parse(string:String) -> JSON { 
    return string.dataUsingEncoding(NSUTF8StringEncoding) 
     .flatMap({JSON(data: $0)}) ?? JSON(NSNull()) 
} 

var json = JSON.parse(stringJSON)

của nó bây giờ đã thay đổi để

var json = JSON.init (parseString: stringJSON)

1

Tôi đang sử dụng như sau:

let yourString = NSMutableString() 

let dataToConvert = yourString.data(using: String.Encoding.utf8.rawValue) 

let json = JSON(data: dataToConvert!) 

print("\nYour string: " + String(describing: json)) 
Các vấn đề liên quan