
[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/
首先感谢 枯龙吟 网易博客提供了【成语词典】【新华字典】【汉语词典】接口以供使用.
无意中在网上发现了一个关于汉语字典方面的接口 ,于是自己就测试了一下,发现可以使用,非常感谢那位大神!!!
附上demo截图:




主要用到了数据解析的方式,服务器返回的是json数据,直接使用ios提供的类进行解析,这个小demo很简单,直接附上源码:(代码中,我封装了一个方法,传入服务器的地址和请求的数据,回到主线程更新UI)
1 //
2 // ViewController.m
3 // 新华字典
4 //
5 // Created by hukezhu on 15/7/7.
6 // Copyright (c) 2015年 hukezhu. All rights reserved.
7 //
8
9 #import "ViewController.h"
10 #import <AFNetworking.h>
11
12 @interface ViewController ()
13 @PRoperty (weak, nonatomic) IBOutlet UITextField *Word;
14 @property (weak, nonatomic) IBOutlet UITextField *chengyu;
15 @property (weak, nonatomic) IBOutlet UITextView *textView;
16 @property (weak, nonatomic) IBOutlet UITextField *ciyu;
17
18 - (IBAction)wordClick:(UIButton *)sender;
19 - (IBAction)chengyuClick:(UIButton *)sender;
20 - (IBAction)ciyuClick:(UIButton *)sender;
21
22 @end
23
24 @implementation ViewController
25
26
27
28
29 - (void)viewDidLoad {
30 [super viewDidLoad];
31
32 }
33
34
35 - (void)getDictionary :(NSString *)strUrl word:(NSString *)word{
36
37 NSString *stringUrl = strUrl;
38 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
39 manager.responseSerializer.acceptableContentTypes =[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
40
41 [manager GET:stringUrl parameters:@{@"word":word} success:^(AFHTTPRequestOperation *operation, id json) {
42
43 NSData *data = [NSJSONSerialization dataWithJSONObject:json options:0 error:NULL];
44
45
46 NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
47
48
49
50 NSString *rootKey = dict.keyEnumerator.nextObject;
51 NSArray *array = dict[rootKey];
52
53
54
55 NSMutableString *stringM = [NSMutableString string];
56 for (NSDictionary *dict1 in array) {
57
58 for (NSString *key in dict1) {
59 if ([key isEqualToString:@"text"]) {
60 NSString *object=[dict1 objectForKey:key];
61 //NSLog(@"%@",object);
62 [stringM appendFormat:@"%@\n",object];
63 }
64
65 }
66 }
67
68 self.textView.text = stringM;
69 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
70 NSLog(@"error:%@",error);
71 }];
72
73
74 }
75
76 - (IBAction)wordClick:(UIButton *)sender {
77
78 //NSLog(@"点击了查找按钮");
79 if (self.word.text) {
80 [self getDictionary:@"http://brisk.eu.org/api/xhzd.php" word:self.word.text];
81 }
82
83 [self.view endEditing:YES];
84
85
86 }
87
88 - (IBAction)chengyuClick:(UIButton *)sender {
89
90 if (self.chengyu.text) {
91 [self getDictionary:@"http://brisk.eu.org/api/cycd.php" word:self.chengyu.text];
92 }
93
94 [self.view endEditing:YES];
95 }
96
97 - (IBAction)ciyuClick:(UIButton *)sender {
98
99 if (self.ciyu.text) {
100 [self getDictionary:@"http://brisk.eu.org/api/hycd.php" word:self.ciyu.text];
101 }
102
103
104 //这个是周公解梦的,可是api不能使用了
105 // if (self.ciyu.text) {
106 // [self getDictionary:@"http://brisk.eu.org/api/dream.php" word:self.ciyu.text];
107 // }
108
109 [self.view endEditing:YES];
110 }
111 @end