delphi使用idhttp提取到内容,如何提取到其中一行或几行 delphi接口pos 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 保存成html得到如下内容{"status":"ok","body":"{\"pageData\":[{\"id\":188,\"name\":\"京闽盛之乡温泉\",\"shortName\":\"京闽盛之乡温泉\",\"ticketType\":\"2\",\"star\":\"4\",\"openTime\":\"周一至周五:12:00-24:00 周末:10:00-24:00\",\"bestTravelTime\":\"\",\"notice\":\"<p><strong>2014年9月5日到2014年9月8日中秋执行周末价,2014年10月1日-5日国庆执行黄金周价格,2014年10月6日-7日执行平日价。</strong></p>\\r\\n\\r\\n<p><strong>【限价要求】:团队(10人及10人以上)---平日,对外建议售价不得低于108元,团队(10人及10人以上)---周末,对外建议售价不得低于128元,平日票对外建议售价不得低于98元,周末票对外建议售价不得低于128元。</strong></p>\\r\\n\\r\\n<div>有效期:自购买之日起一个月内有效</div>\\r\\n\\r\\n<div> </div>\\r\\n\\r\\n<div>截止日期,以免给您造成不必要的损失</div>\\r\\n\\r\\n<div><strong>验证方式:凭12位数字兑换密码,到景区报“芝麻游”验证消费</strong></div>\\r\\n\\r\\n<p>验证窗口:温泉接待前台</p>\\r\\n\\r\\n<p><strong>特别提示:平日/周末团队票要求团队人员同时进入景区一次验证消费</strong></p>\\r\\n\\r\\n<p>游泳请自带泳衣、泳帽;为避免碰伤,温泉池禁止游泳<br />\\r\\n特殊温泉池需另外付费,不包含在本票价范围内</p>\\r\\n\\r\\n<p>1M以下儿童免票,1M-1.4M儿童到景区现付58元,具体规定以景区规定为准。</p>\\r\\n\\r\\n<p> </p>\\r\\n\",\"b2cNotice\":\"<p><strong>2014年9月5日到2014年9月8日中秋执行周末价,2014年10月1日-5日国庆执行黄金周价格,2014年10月6日-7日执行平日价。</strong></p>\\r\\n\\r\\n<p><strong>购买说明:团队票要求团队人员同时进入景区一次验证消费</strong></p>\\r\\n\\r\\n<p>有效期:自购买之日起一个月内有效</p>\\r\\n\\r\\n<p>截止日期,以免给您造成不必要的损失</p>\\r\\n\\r\\n<p><strong>验证方式:凭12位数字兑换密码,到景区报“芝麻游”验证消费</strong></p>\\r\\n\\r\\n<p><strong>验证窗口:温泉接待前台</strong></p>\\r\\n\\r\\n<p><strong>特别提示:平日/周末团队票要求团队人员同时进入景区一次验证消费</strong></p>\\r\\n\\r\\n<p><strong>游泳请自带泳衣、泳帽;为避免碰伤,温泉池禁止游泳<br />\\r\\n特殊温泉池需另外付费,不包含在本票价范围内</strong></p>\\r\\n\\r\\n<p><strong>1M以下儿童免票,1M-1.4M儿童到景区现付58元,具体规定以景区规定为准。</strong></p>\\r\\n\\r\\n<p> </p>\\r\\n\",\"description\":\"<p> 在腾腾热气中,缓缓舒展身躯,微闭双眼,放空心灵。美丽的初春映衬出一派朦胧而诗意的景象。用金秋的心情欣赏这舒柔的春,让空灵的心境慰藉疲惫的身躯。给思想一双翅膀,在一处美丽娴静的地方。<br />\\r\\n<strong> </strong> 盛之乡戴斯温泉渡假村水源取自汀溪地下天然温泉。温泉属碳酸氢钠泉,水质中性温和,富含钾、钠、镁、钙、铁等多种对人体有益的矿物质和微量元素,出水温度约50度,乃罕见上乘温泉。渡假村共有55种不同风格的SPA汤池(香草温泉区、养生温泉区、排毒养颜温泉区等);让您在这片碧幽、灵动的世外桃源达到彻底的身心放松,带给您独特非凡的享受。</p>\\r\\n\\r\\n<p> 盛之乡戴斯温泉渡假村座落于厦门同安区汀溪镇朝元路1168号,324国道边,距厦门机场约30公里,距离火车站约36公里,占地面积约23万平方米,交通地理位置优越。渡假村毗邻风景优美的同安汀溪水库,依山而建,青山环抱,溪水潺潺,亭台楼阁,是休闲、旅游、度假、泡汤、集会的一大圣地。客房以大面积的原木、石材做装饰,生活用品均采用纯天然藤、棉、麻等原生态材料制成,倡导自然、原生态的养生理念。清晨推开窗户,呼吸着含有桂花香味的新鲜空气,让身心陶醉在这片世外桃源;晚上,山峦迭起间,与心爱的TA坐在露台上寻找天空中最美的那颗星星。<br />\\r\\n 酒店餐厅特聘台湾知名总厨为您料理饕餮美宴,让您在休闲、渡假之余也能品尝到地道的美食。</p>\\r\\n\",\"imgUrl\":\"SCENIC/173/1350285131938.jpg\",\"status\":\"1\",\"contact\":\"0592-3758989\",\"addr\":\"同安区汀溪镇朝元路1168号\",\"idCardAccepted\":\"0\",\"agreement\":\"<p><strong>2014年9月5日到2014年9月8日中秋执行周末价,2014年10月1日-5日国庆执行黄金周价格,2014年10月6日-7日执行平日价。</strong></p>\\r\\n\\r\\n<p><strong>【限价要求】:团队(10人及10人以上)---平日,对外建议售价不得低于108元,团队(10人及10人以上)---周末,对外建议售价不得低于128元,平日票对外建议售价不得低于98元,周末票对外建议售价不得低于128元。</strong></p>\\r\\n\\r\\n<p> </p>\\r\\n\",\"latitude\":24.765100479126,\"longitude\":118.151000976562,\"provinceName\":\"福建\",\"cityName\":\"厦门\",\"transportation\":\"</p>\\r\\n\",\"isRealName\":\"0\",\"startDateFlag\":\"1\",\"idCardNeeded\":\"0\",\"purchaseType\":\"SELF\"}],\"pageInfo\":{\"currentPageNum\":1,\"pageSize\":5,\"totalPageNum\":1,\"totalRowNum\":4}}","sign":"85248080da50491df6c20c57a42c4946"} 就想把上面文字部分提取出来,但是里面有一些如\\r\\n\\r\\n这样的字符串,一行为一条数据。 用json库解析,参考http://www.cnblogs.com/del/archive/2009/10/22/1588384.html 用json库解析,参考http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手 用json库解析,参考http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手你提供个获取数据的入口,这种复制来粘帖去,格式就变了,最好直接获取到数据然后解析。 用json库解析,参考http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手你提供个获取数据的入口,这种复制来粘帖去,格式就变了,最好直接获取到数据然后解析。以下是我写的代码:procedure TForm1.btn1Click(Sender: TObject);var Param:TStringList; RStream:TStringStream; s:TidHashMessageDigest5; bt:tidbytes;begin Param:=TStringList.Create; RStream:=TStringStream.Create('',65001); //idhtp1.Request.AcceptLanguage:='UTF-8'; edt11.Text:=edt1.Text+edt2.text+edt3.text+edt4.text; bt:=tidbytes(TEncoding.UTF8.GetBytes(edt11.Text)); s:=TIdHashMessageDigest5.Create; Param.Add('u='+edt1.Text); Param.Add('p='+edt2.Text); Param.Add('body='+edt3.Text); Param.Add('sign='+s.HashBytesAsHex(bt).ToLower); //ShowMessage(s.HashBytesAsHex(bt).ToLower); IdHTP1.Post('http://test.zmyou.com/union/api/et/scenic!api.action',Param,RStream); mmo1.Text:=UTF8Decode(RStream.DataString); //未加UTF8Decode函数前乱码 mmo1.Text:=RStream.DataString;end;其中:edt1.text := 'api_test';edt2.text := 'c4ca4238a0b923820dcc509a6f75849b';edt3.text := '{"action":"GET_SCENIC_LIST","currentPageNum":1,"pageSize":5,"name":"温泉","typeList":["1","2"],"starList":["5","4"],"provinceList":["福建"],"cityList":["厦门","泉州"]}'edt4.text := 'ot7M30XwoGL35IOl';sign:=edt1.Text+edt2.text+edt3.text+edt4.text;//edt11.text以上是相关代码及参数。麻烦弄个demo,目的就是提取里面的数据,要么每行一个数据,要么就是一段文字一个数据,post你就可以看到数据了 很明显是一个json, 用superobject吧 弄个demo解析这些数据一下啊,没玩过哦!正学习这东东呢 procedure TForm1.btn1Click(Sender: TObject);var Param: TStringList; RStream: TStringStream; s: TidHashMessageDigest5; bt: tidbytes; json: ISuperObject; item: ISuperObject; i: TObject;begin Param := TStringList.Create; RStream := TStringStream.Create('', 65001); edt11.Text := edt1.Text + edt2.Text + edt3.Text + edt4.Text; bt := tidbytes(TEncoding.UTF8.GetBytes(edt11.Text)); s := TidHashMessageDigest5.Create; Param.Add('u=' + edt1.Text); Param.Add('p=' + edt2.Text); Param.Add('body=' + edt3.Text); Param.Add('sign=' + s.HashBytesAsHex(bt).ToLower); s.Free; idhtp1.Post('http://test.zmyou.com/union/api/et/scenic!api.action', Param, RStream); json := SO(RStream.DataString); if (Assigned(json)) and (json['status'].AsString = 'ok') then begin json := json['body']; item := SO(json.AsString)['pageData']; mmo1.Lines.Add(item.AsArray[0]['name'].AsString); mmo1.Lines.Add(item.AsArray[0]['notice'].AsString); end;end;delphi xe7下测试通过superobject可从我#4提供的地址下载得到。 得奖,放分~~ 在没有安装SQL2005的电脑上运行SQL2005制作的数据库管理系统? 建立将两个日期间的清单,这段代码哪错了? 跪谢cctv 一个超级郁闷的问题:怎么编程实现注册表的备份和恢复?(来者有分) 窗口中的菜单与工具栏的属性(enabled、visible)怎么保持一致? 请问Try的小问题,我用它的效果不好。!!请有经验者来:) 本人在广州,想知道在广东里面有些什么美丽的古城小镇,请把名字和方位和车程奉告 各位大虾,请近,大讨论 数据库查询中通配符是否会变化? delphi HttpQueryInfo查询响应头信息,执行成功,但是返回的是空字符串 关于三层服务器程序测试问题?
http://www.cnblogs.com/del/archive/2009/10/22/1588384.html
http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手
http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手
你提供个获取数据的入口,这种复制来粘帖去,格式就变了,最好直接获取到数据然后解析。
http://www.cnblogs.com/del/archive/2009/10/22/1588384.html能来个简单的例子吗?这个之前听说josn有工具包可以解决,但是从来没使用过,不知道怎么入手
你提供个获取数据的入口,这种复制来粘帖去,格式就变了,最好直接获取到数据然后解析。以下是我写的代码:
procedure TForm1.btn1Click(Sender: TObject);
var
Param:TStringList;
RStream:TStringStream; s:TidHashMessageDigest5;
bt:tidbytes;begin
Param:=TStringList.Create;
RStream:=TStringStream.Create('',65001);
//idhtp1.Request.AcceptLanguage:='UTF-8'; edt11.Text:=edt1.Text+edt2.text+edt3.text+edt4.text;
bt:=tidbytes(TEncoding.UTF8.GetBytes(edt11.Text));
s:=TIdHashMessageDigest5.Create; Param.Add('u='+edt1.Text);
Param.Add('p='+edt2.Text);
Param.Add('body='+edt3.Text);
Param.Add('sign='+s.HashBytesAsHex(bt).ToLower);
//ShowMessage(s.HashBytesAsHex(bt).ToLower); IdHTP1.Post('http://test.zmyou.com/union/api/et/scenic!api.action',Param,RStream); mmo1.Text:=UTF8Decode(RStream.DataString); //未加UTF8Decode函数前乱码
mmo1.Text:=RStream.DataString;
end;其中:
edt1.text := 'api_test';
edt2.text := 'c4ca4238a0b923820dcc509a6f75849b';
edt3.text := '{"action":"GET_SCENIC_LIST","currentPageNum":1,"pageSize":5,"name":"温泉","typeList":["1","2"],"starList":["5","4"],"provinceList":["福建"],"cityList":["厦门","泉州"]}'
edt4.text := 'ot7M30XwoGL35IOl';sign:=edt1.Text+edt2.text+edt3.text+edt4.text;//edt11.text以上是相关代码及参数。麻烦弄个demo,目的就是提取里面的数据,要么每行一个数据,要么就是一段文字一个数据,post你就可以看到数据了
弄个demo解析这些数据一下啊,没玩过哦!正学习这东东呢
var
Param: TStringList;
RStream: TStringStream; s: TidHashMessageDigest5;
bt: tidbytes; json: ISuperObject; item: ISuperObject;
i: TObject;
begin
Param := TStringList.Create;
RStream := TStringStream.Create('', 65001); edt11.Text := edt1.Text + edt2.Text + edt3.Text + edt4.Text;
bt := tidbytes(TEncoding.UTF8.GetBytes(edt11.Text));
s := TidHashMessageDigest5.Create; Param.Add('u=' + edt1.Text);
Param.Add('p=' + edt2.Text);
Param.Add('body=' + edt3.Text);
Param.Add('sign=' + s.HashBytesAsHex(bt).ToLower);
s.Free; idhtp1.Post('http://test.zmyou.com/union/api/et/scenic!api.action',
Param, RStream); json := SO(RStream.DataString);
if (Assigned(json)) and (json['status'].AsString = 'ok') then
begin
json := json['body'];
item := SO(json.AsString)['pageData'];
mmo1.Lines.Add(item.AsArray[0]['name'].AsString);
mmo1.Lines.Add(item.AsArray[0]['notice'].AsString);
end;end;
delphi xe7下测试通过
superobject可从我#4提供的地址下载得到。