package com.org.utils; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class ServerUtils { private static String content = "",line=System.getProperty("line.separator");//换行相当于\n public static String getContent(String url){ HttpClient client=new DefaultHttpClient(); HttpEntity httpEntity=null; String result=""; try { HttpGet post=new HttpGet(url); HttpResponse httpResponse = client.execute(post); httpEntity=httpResponse.getEntity(); if(httpEntity!=null){ result=EntityUtils.toString(httpEntity, "UTF-8").trim(); return result; } } catch (Exception e) { e.printStackTrace(); }finally{ try { httpEntity.consumeContent(); } catch (IOException e) { e.printStackTrace(); } } return null; } /** * 读文件流 * @param formPath从哪里读取的文件路径 * @return */ public static String readerFile(String formPath) { FileReader read = null; BufferedReader reader = null; try { read = new FileReader(new File(formPath)); reader = new BufferedReader(read); StringBuffer buffer = new StringBuffer(""); content = reader.readLine(); while (content != null) { buffer.append(content).append(line); content = reader.readLine(); } return content = buffer.toString();//返回 } catch (Exception e) { e.printStackTrace(); } finally { try { if (reader != null)reader.close(); if (read != null)read.close(); } catch (Exception e) { e.printStackTrace(); } } return "";//没值就返回空 } public static void main(String[] args) { String Url="http://api.k780.com:88/?app=entry.qihu&domain=www.baidu.com&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"; System.out.println(getContent(Url)); } }
package com.org.json; import org.json.JSONArray; import org.json.JSONObject; import com.org.utils.ServerUtils; /** * @Author:liangjilong * @Date:2014-4-28 * @Version:1.0 * @Descript:从本地的文本读取文件下来解析json数据 */ public class TestJson2 { /** * @param args */ public static void main(String[] args) throws Exception { String path=TestJson2.class.getClassLoader().getResource("json.txt").getFile(); String json = ServerUtils.readerFile(path); JSONObject jsonObj = new JSONObject(json); String status = jsonObj.get("status").toString();// 解析status节点 // System.out.println(status); String results=jsonObj.get("results").toString();//results节点 JSONArray resultArrs=new JSONArray(results); for (int i = 0; i < resultArrs.length(); i++) { JSONObject resultObj=(JSONObject)resultArrs.get(i); String name="第"+i+resultObj.get("name");//results下的name节点 String address=resultObj.getString("address");////results下的address节点 if(resultObj.has("telephone")){//判断是否有这个节点 String telephone=resultObj.getString("telephone");////results下的telephone节点 System.out.println(telephone); } String detail_url=resultObj.get("detail_url").toString(); if(resultObj.has("tag")){//判断是否有这个节点 String tag=resultObj.get("tag").toString(); } JSONObject locationObj=(JSONObject)resultObj.get("location");//location节点 String lat=locationObj.getString("lat");//location节点lat经度 String lng=locationObj.getString("lng");//location节点lng伟度 System.out.println(lng); } } }
package com.org.json; import java.net.URLEncoder; import org.json.JSONArray; import org.json.JSONObject; import com.org.utils.ServerUtils; /** * @Author:liangjilong * @Date:2014-4-28 * @Version:1.0 * @Descript:从网络上抓去下来解析json数据 */ public class TestJson1 { /** * @param args */ public static void main(String[] args) throws Exception { String key="D4tWvZgUrICf3oga0Q0uT5sk"; String url= getUrl("银行", key); //即搜索经纬度39.915,116.404,39.975,116.414的附近的银行 String json = ServerUtils.getContent(url); JSONObject jsonObj = new JSONObject(json); String status = jsonObj.get("status").toString();// 解析status节点 // System.out.println(status); String results=jsonObj.get("results").toString();//results节点 JSONArray resultArrs=new JSONArray(results); for (int i = 0; i < resultArrs.length(); i++) { JSONObject resultObj=(JSONObject)resultArrs.get(i); String name="第"+i+resultObj.get("name");//results下的name节点 String address=resultObj.getString("address");////results下的address节点 if(resultObj.has("telephone")){//判断是否有这个节点 String telephone=resultObj.getString("telephone");////results下的telephone节点 System.out.println(telephone); } String detail_url=resultObj.get("detail_url").toString(); if(resultObj.has("tag")){//判断是否有这个节点有就取出来 String tag=resultObj.get("tag").toString(); } JSONObject locationObj=(JSONObject)resultObj.get("location");//location节点 String lat=locationObj.getString("lat");//location节点lat经度 String lng=locationObj.getString("lng");//location节点lng伟度 System.out.println(lng); } } /** * * @param keyWord搜索的地方 * @param key百度申请的ak密钥 * @return * @throws Exception */ public static String getUrl(String keyWord, String key)throws Exception{ StringBuffer buffer=new StringBuffer(); buffer.append("http://api.map.baidu.com/place/search?"); buffer.append("&query="+URLEncoder.encode(keyWord,"utf-8")); buffer.append("&bounds="+"39.915,116.404,39.975,116.414");//经纬度 buffer.append("&output=json");//输出格式(JSON/XML) buffer.append("&key="+key); return buffer.toString(); } }
相关推荐
- 接收到服务器返回的结果后,解析JSON数据,提取出身份证上的关键信息,如姓名、性别、出生日期、地址和身份证号等。 3. **银行卡识别** - 银行卡OCR的流程与身份证识别类似,也是上传银行卡照片,但需要识别的...
《基于OCR技术的图片文字识别——深度解析百度aip-java-sdk-4.1.0》 在当今数字化时代,图像中的文字识别(OCR,Optical Character Recognition)技术扮演着至关重要的角色,它使得计算机能够自动识别并转换图像中...
// 实现获取access_token的方法,具体实现依赖于百度API文档 } } ``` 在这个示例中,我们读取本地的图片文件,将其转换为Base64编码,然后构建包含这个编码的JSON请求体。同时,我们需要获取一个访问令牌(access...
在本文中,我们将深入探讨如何优化C# WinForm应用程序,以高效地从中国银行网站抓取实时的汇率信息。这个过程涉及到网页数据抓取、网络请求处理、HTML解析以及WinForm界面的更新等多个方面。 首先,我们需要理解...
百度AIP OCR SDK提供了丰富的API接口,包括通用文字识别、身份证识别、银行卡识别等多种场景的识别功能。它基于深度学习算法,能够对复杂背景下的文本进行高精度识别,支持多种语言。 2. **Windows Forms**: ...
通常,这个过程包括上传身份证图片、调用OCR服务、解析返回的JSON数据、将识别出的文字与身份证字段对应,最后将结果显示给用户。 在实际应用中,为了提高用户体验,开发者还会考虑优化如图像预处理(如旋转校正、...
3. 结果解析:接收百度OCR返回的识别结果,这通常是JSON格式,包含每个识别出的单词及其位置信息。 4. 数据提取与存储:从解析的结果中提取身份证信息,并可能将其保存到数据库或其他持久化存储中。 压缩包内的...
这些工具可能包含图片上传、识别请求的发起、结果解析以及错误处理等功能,便于用户在实际工作中快速使用。 5. **工程实践**:这个工程实例可能涉及到的编程语言可能是Python,因为Python在数据处理和API调用方面...
在银行卡信息识别中,百度ORC可以准确地解析出卡号、银行名称、有效期等关键字段,这对于自动化的金融服务或数据分析非常有用。 使用易语言与百度ORC进行银行卡信息识别,首先需要了解百度OCR的API接口。开发者需要...
- 数据解析:解析百度返回的JSON或其他格式的结果,提取所需信息。 - 安全性:考虑到银行卡信息的敏感性,必须确保数据传输和存储的安全,避免信息泄露。 通过分析这个项目,我们可以学习到易语言的编程技巧,以及...
此外,百度OCR还提供了表格识别、身份证、银行卡、名片等特定对象的识别,极大地拓展了其应用场景。 在iOS平台上实现OCR识别,开发者通常需要遵循以下步骤: 1. **集成百度OCR SDK**:首先,需要在项目中导入百度...
编写代码调用API,需要处理网络请求,如使用`Retrofit`或`OkHttp`发送POST请求,携带图片数据和API密钥,接收并解析返回的JSON结果。 4. **注意事项**: - 本地OCR受设备性能和训练数据集限制,可能识别效果不理想...
在提供的压缩包文件“易语言调用百度OCR识别”中,可能包含了示例源代码、API接口说明和使用教程等资源,帮助开发者快速理解和实现上述流程。通过学习和研究这些材料,开发者可以掌握如何在易语言环境下有效地利用...
5. **调用OCR接口**:百度提供了多种OCR接口,如通用文字识别、身份证识别、银行卡识别等。根据需求选择合适的接口,如`AipOcr.basicGeneral`用于基本的文字识别,`AipOcr.idcard`用于身份证识别,`AipOcr.bankCard`...
百度OCR是百度云提供的一种高级API服务,支持多种类型的文档和图片的文字识别,包括身份证、银行卡、营业执照等证件的识别,以及通用文字、表格、手写文字等复杂场景的识别。它采用深度学习算法,具有高精度、高...
总的来说,使用易语言结合百度AI的文字识别服务,开发者可以方便地构建自己的文本识别应用,无论是在普通场景还是对精度有较高要求的场景,都能找到合适的解决方案。这不仅简化了开发流程,也为AI技术的普及提供了...