Tôi muốn thiết lập dữ liệu giả tĩnh, trong JSON, để ứng dụng của tôi xử lý. Điều này hoàn toàn là phía máy khách; Tôi không muốn lấy bất cứ thứ gì từ mạng.Làm cách nào để tạo dữ liệu JSON giả trên máy khách trong C/iOS mục tiêu?
Tất cả các câu hỏi và câu trả lời tôi đã thấy cho đến nay có các biến NSData * lưu trữ những gì được truy xuất từ cuộc gọi mạng và [JSONSerialization JSONObjectWithData: ...] thường tác động đến dữ liệu không được tạo thủ công.
Dưới đây là ví dụ về những gì tôi đã thử trong xcode.
NSString* jsonData = @" \"things\": [{ \
\"id\": \"someIdentifier12345\", \
\"name\": \"Danny\" \
\"questions\": [ \
{ \
\"id\": \"questionId1\", \
\"name\": \"Creating dummy JSON data by hand.\" \
}, \
{ \
\"id\": \"questionId2\", \
\"name\": \"Why no workie?\"
} \
], \
\"websiteWithCoolPeople\": \"http://stackoverflow.com\", \
}]}";
NSError *error;
NSDictionary *parsedJsonData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
Những nỗ lực như vậy (và cố gắng thay đổi điều gì đó, như chuyển NSString * để NSData * từ đó chuỗi JSON) đã mang lại một dữ liệu parsedJsonData null hoặc trường hợp ngoại lệ khi cố gắng tạo mà JSON biến dữ liệu hoặc khi cố gắng phân tích nó.
Làm cách nào để tạo dữ liệu JSON giả trong mã của riêng tôi sao cho nó có thể được phân tích cú pháp thông qua các lớp Foundation bình thường phân tích cú pháp dữ liệu JSON?
Tôi không tin rằng JSON có thể bắt đầu bằng chuỗi. Hãy thử thêm '{' vào đầu trước '' mọi thứ ''. Sau đó, lấy chuỗi của bạn và sử dụng phương thức '[jsonData dataUsingEncoding: NSUTF8StringEncoding]', vì 'NSJSONSerialization' chỉ lấy dữ liệu chứ không phải một chuỗi :) – bgoers
Cảm ơn. Tôi đã thử tuyến đường đó trước đây, nhưng bạn đã đưa ra ánh sáng rằng tôi có thể có JSON không đúng định dạng, đó là lý do tại sao tôi không thể tạo dữ liệu theo cách thủ công. Hãy cẩn thận để đăng một ví dụ nhỏ về cách JSON nên xem xét trong khi tôi thử JSON mới? Nếu nó hoạt động, sau đó tôi sẽ đánh dấu câu trả lời của bạn là câu trả lời vì mọi người cố gắng làm điều này có thể đã làm cho JSON bị biến dạng thành vấn đề. – Danny
Khi tôi cần phải làm điều này tôi có một tập tin văn bản có chứa các json trong gói ứng dụng chứ không phải là một NSString trong mã. Tôi nghĩ điều đó giúp bạn dễ dàng trao đổi hơn cho URL sản xuất của mình và cũng dễ định dạng hơn. –