บทแนะนำการแยกวิเคราะห์ JSON สำหรับ iPhone / iOS [ปิด]


103

ในฐานะประสบการณ์การเรียนรู้ฉันต้องการสร้างแอปพลิเคชัน iPhone ที่เรียกใช้เว็บเซิร์ฟเวอร์ / บริการเว็บดึงการตอบสนอง JSON และใช้การตอบสนองนั้นเพื่อเติมข้อมูลในแถวของ a UITableView(สมมติว่ามันแปลง JSON เป็นรายการNSArrayแรก)

ใครรู้อะไรที่อาจเป็นประโยชน์

คำตอบ:


164

คุณจะรักกรอบนี้

และคุณจะรักเครื่องมือนี้

หากต้องการเรียนรู้เกี่ยวกับ JSON คุณอาจชอบแหล่งข้อมูลนี้

และคุณอาจจะชอบบทช่วยสอนนี้


คุณพูดถูกจริงๆเกี่ยวกับฉันที่รักสิ่งนั้นเช่นกัน @icnivad ขอบคุณมากสำหรับการเป็นผู้นำสิ่งนี้มีประโยชน์มาก
Casey Flynn

. บทช่วยสอนที่คุณกล่าวถึงต้องการไฟล์ DMG แต่ฉันไม่พบไฟล์ DMG ใด ๆ ในลิงก์ที่คุณกล่าวถึงสำหรับกรอบงาน ลิงก์นั้นนำทางไปยัง github และมีไฟล์ zip ที่มีคลาสและตัวอย่างต่างๆ แต่ฉันไม่เข้าใจว่าต้องแทรกส่วนไหนในโปรเจ็กต์ของฉัน คุณช่วยฉันได้ไหม?
alekhine

2
ใช่โปรเจ็กต์นั้นย้ายไปที่ github แล้ว รับได้ที่นี่: github.com/stig/json-framework
Todd Hopkinson

คุณอาจจะรัก hurl.it
Caspar Harmer

SBJson นั้นจะดีถ้าสร้างขึ้น ล้มเหลวสำหรับฉันด้วยข้อผิดพลาด 44 ข้อใน Xcode 4 ใน OS X Lion
Sarah Vessels

57

ตั้งแต่ iOS 5.0 Apple มีคลาส NSJSONSerialization "เพื่อแปลง JSON เป็นอ็อบเจ็กต์ Foundation และแปลงอ็อบเจ็กต์ Foundation เป็น JSON" ไม่มีเฟรมเวิร์กภายนอกที่จะรวมและตามเกณฑ์มาตรฐานประสิทธิภาพของมันค่อนข้างดีดีกว่า SBJSON อย่างมีนัยสำคัญ


คำนี้ยอดเยี่ยมตราบใดที่ไม่มีแผนรองรับ iOS 4 และเวอร์ชันก่อนหน้า
Sanjay Chaudhry

18
เนื่องจากตอนนี้เป็นปี 2012 และ iOS6 ใกล้เข้ามาแล้วซึ่งมีแนวโน้มที่จะเป็นเช่นนั้น
Abizern

1
และผลการเปรียบเทียบคือ "ไม่พบ 404"
ปัง

การวัดประสิทธิภาพที่อัปเดตบางรายการแสดงให้เห็น NSJSONSerialization เร็วที่สุด: stackoverflow.com/questions/16218583/jsonkit-benchmarks
darrinm

6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }

ขอขอบคุณที่ให้ตัวอย่างโค้ด!
หมัด

4

ลองกับเรื่องนี้เร็วที่สุดกรอบ JSON JSONKit เร็วกว่าเฟรมเวิร์ก JSON ปกติ


1
คุณพูดถูกมันเร็วมาก!
Ivan Fioravanti

เฟรมเวิร์ก JSON +1 ที่ดีที่สุด

4

นี่คือบทช่วยสอนที่ฉันใช้เพื่อหาคำตอบของดาร์ริน ได้รับการอัปเดตสำหรับ ios5 / 6 และง่ายมาก เมื่อฉันเป็นที่นิยมฉันจะลบสิ่งนี้และเพิ่มเป็นความคิดเห็นในคำตอบของเขา

http://www.raywenderlich.com/5492/working-with-json-in-ios-5

http://www.touch-code-magazine.com/tutorial-fetch-and-parse-json-in-ios6/


1

นี่คือลิงค์ไปยังบทช่วยสอนของฉันซึ่งจะแนะนำคุณตลอด:

  • การสร้าง JSON WCF Web Service ตั้งแต่เริ่มต้น (และปัญหาที่คุณต้องการหลีกเลี่ยง)
  • ปรับให้อ่าน / เขียนข้อมูลSQL Server
  • รับแอป iOS 6 เพื่อใช้บริการ JSON
  • โดยใช้บริการเว็บ JSON ด้วย JavaScript

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

ซอร์สโค้ดทั้งหมดมีให้โดยไม่เสียค่าใช้จ่าย สนุก.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.