热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序|area组件使用的地址数据文件plus

area组件使用的地址数据文件前言1、解析json的地址转换为area.js的格式2、转换格式的java代码3、运行结果截图示意前言实战篇内容参考:1、腾讯的全球地址


area组件使用的地址数据文件

  • 前言
  • 1、解析json的地址转换为area.js的格式
  • 2、转换格式的java代码
  • 3、运行结果截图示意


前言


实战篇内容参考:
1、腾讯的全球地址数据文件及Xml->Json的处理
2、微信小程序|area组件使用的地址数据文件



1、解析json的地址转换为area.js的格式

源文件格式:

********************************
匈牙利
市的数量:20巴兰尼亚
巴奇-基什孔
包尔绍德-奥包乌伊-曾普伦
贝凯什
布达佩斯
费耶尔
豪伊杜-比豪尔
赫维什
加兹-纳杰孔-索尔诺克
杰尔-莫松-肖普朗
科马罗姆
诺格拉德
佩斯
琼格拉德
绍莫吉
索博尔奇-索特马尔-贝拉格
托尔瑙
维斯普雷姆
沃什
佐洛
********************************

转换的目标文件格式:

955401: '奥克兰',
955402: '北岸',
955403: '北帕默斯顿',
955404: '北远',
955405: '布莱尼姆',
955406: '达尼丁',
955407: '格雷茅斯',
955408: '哈密尔顿',
955409: '黑斯廷斯',
955410: '怀塔科拉',
955411: '吉斯伯恩',
955412: '凯帕拉',
955413: '克赖斯特彻奇',
955414: '里士满',
955415: '马努考',
955416: '纳尔逊',
955417: '内皮尔',
955418: '斯特拉特福德',
955419: '陶马鲁努伊',
955420: '瓦卡塔尼',
955421: '旺阿雷',
955422: '旺格努伊',
955423: '新普利茅斯',
955424: '因弗卡吉尔',

2、转换格式的java代码

/** * @Title: analyseText.java* @Description: TODO(描述)* @author Raffaello* @date 2021-02-11 08:21:20 */package JsonUtils;import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;/*** @ClassName: analyseText* @Description: TODO(描述)* @author Raffaello* @date 2021-02-11 08:21:20*/public class AnalyseText {// 城市名称需要手动定制。比如有的国家城市比省出名,就选择城市名。// 在text.txt中输入城市即可输出对应jsonpublic static void main(String[] args) {// 1、读取area-kv.txt文件String area = readFile("./src/JsonUtils/area-kv.txt");String area_kv[] = area.split("\\n");// 2、读取text.txt,第一行为国家名String path = "./src/JsonUtils/text.txt";String res = readFile(path);String str[] = res.split("\\n");String nation = str[0];// \\s* 可以匹配空格、制表符、换页符等空白字符的其中任意一个。nation = nation.replaceAll("\\s*", "");// 3、area-kv中找到对应nation的codeint code = findCode(nation, area_kv);
// System.out.println(code);
// System.out.println(nation);for (int i &#61; 1; i < str.length; i&#43;&#43;) {String city &#61; str[i].replaceAll("\\s*", "");System.out.println(&#43;&#43;code &#43; ": &#39;" &#43; city &#43; "&#39;,");}// 处理907607: &#39;巴西&#39;, 北里奥格兰德---替换巴西
// for (String s : str) {
// String line[] &#61; s.split(",");
// String fir &#61; line[0];
// String sec &#61; line[1];
//
// fir &#61; fir.replaceAll(" ", "");
// sec &#61; sec.replaceAll("\\s*", "");
//
// String kv[] &#61; fir.split(":");
//
// System.out.println(kv[0] &#43; ":" &#43; " &#39;" &#43; sec &#43; "&#39;");
// }}// find code from area_kv.txtpublic static int findCode(String nation, String[] area_kv) {for (String s : area_kv) {String kv[] &#61; s.split(":");String temp &#61; kv[1].replaceAll("\\s*", "");temp &#61; temp.replaceAll("&#39;", "");temp &#61; temp.replaceAll(",", "");
// System.out.println(temp);if (temp.equals(nation)) {int code &#61; Integer.parseInt(kv[0]);return code;}}return -1;}// 读取txt文件方法public static String readFile(String fileName) {String Str &#61; "";try {File file &#61; new File(fileName);FileReader fileReader &#61; new FileReader(file);Reader reader &#61; new InputStreamReader(new FileInputStream(file), "utf-8");int ch &#61; 0;StringBuffer sb &#61; new StringBuffer();while ((ch &#61; reader.read()) !&#61; -1) {sb.append((char) ch);}fileReader.close();reader.close();Str &#61; sb.toString();return Str;} catch (IOException e) {e.printStackTrace();return null;}}}

3、运行结果截图示意

在这里插入图片描述
在这里插入图片描述
运行结果&#xff1a;
在这里插入图片描述


推荐阅读
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
author-avatar
mobiledu2502876193
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有