Json 工具类 | 学习笔记

简介: 快速学习Json 工具类。

开发者学堂课程【2020版大数据实战项目之DMP广告系统(第六阶段)商圈库_功能_求差获取商圈】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/681/detail/11829


Json 工具类

 

主要内容

一、步骤

二、拷贝要解析的字符串并去掉无用内容

三、编写解析的对象

四、解析

 

上一章已经介绍过如何使用json4s 来进行 json 解析,接下来就要在这个 area utils 当中,给这个 http utils 改一个名,把这个 utils 去掉。

点击 move File httputils.scala To package cn.itcast.area。在这个 area 下把 utils 这个包去掉,它是没有用的。接下来在这个 http utils 当中,再去创建一个方法,这个方法就用来进行 json 解析,这个方法就叫做 parsejson

这个 parsejson必须是要接收 string 类型的一个 json 内容的,才能够进行解析。这一步做完了以后关掉其它的窗口,在这个当中把 jason 这个字符串转成一个高德对象或者转成一个 AMap 对象。或者叫 AMap location,重写一下这个 AMap location 的逻辑。

 

一、步骤

1.拷贝要解析的字符串,去掉无用内容。

2.要编写要解析到的对象。

3.解析,这是最主要的工作。

 

二、拷贝要解析的字符串并去掉无用内容

先去找到要解析的字符串,打开浏览器,返回的 json 的数据也在这个网页当中进行格式化了。页面如下图所示:3.1.png

先去拷贝一下网页当中的这个格式化过的字符串内容,把它放在这个叫做  val json 里。再把这个字符串拷进来。3.2.png

以下哪个字符不需要就去掉哪个字符。

首先这个 starts,是不需要的,最重要的是要解析到这里面的商圈信息,如下图所示:3.3.png

starts 是可以不要的。address component 必须得要,因为 business area 在这个对象里。city 也不用要。这个 province 不需要。adcode District,  towncode street Member, Country township building 这些都不要,business area 必须得要。后面什么都不要,直接把它们全都剪掉,剪掉后 address component 就已经没有内容了,还有一个叫做 formatted address 它的用处也不是特别的大,这个方恒国际其实是高德的一个公司。高德公司原来就在方峰国际。如下图所示:3.4.png

接下来把这个地址去掉,逗号也去掉,这个 regeocode 到这里就已经结束了。如图所示:

3.5.png

address common 到这里也结束了。如下图所示:

3.6.png

 

这个 info code info 需不需要呢?其实也可以不要。所以整个就是这样的一种形式。如图所示:

3.7.png

根据这个字符串来进行,把商圈信息也去掉一些,只留一个,那么就根据这么短一串字符串去编写去解析这个 business area 里面的内容。

3.8.png

 

三、编写解析的对象

它的这个类还是比较好写的,该怎么写呢?可以 case class 一下叫做 AMap location 的代码。这个location 当中要接受一个 regeocode,再 case class 一下,这里有一个叫做 regeocode,这个 regeocode当中还要再来一个 adress component

接下来这个 address component 里是这个 business area,这个 business area 是一个数组,但是里面还是一个 json 对象。如图所示:

3.9.png

所以这个 Json 对象就命名 case class Business area。这个 a map location 里有一个叫做 regeocode,这个属性对应的类型是 regeocode,所以这个 regeocode 也是有可能为空,就给定一个 option

那么这个 regeocode 当中有一个 address component,就是地址组件,这个地址组件的类型就是 address component,但是有可能为空,所以就给一个 option

接下来这个 address component 里有一个 business area,这个 business area 属性是什么类型?首先肯定是一个 option,但是里面第一个字符是中括号,所以 option 里第一层应该是一个 listlist 的里就是一个 business area 这样的类型。

在这个 business area 当中,感兴趣的只有一个 name,所以拿到的这个 name 对应的是一个 string 类型。这样就完成了。

这样就把整个的内容给拿到了,接下来这几个对象显然不能在这去使用,要把它放在类外面,让外部可以访问。3.10.png

这个属性要它也没有用就去注释掉,然后就可以去编写这个对象,对象已经编写完之后就可以来进行相应的解析。

 

四.解析

这个解析也是比较简单的。首先第一点需要一个 implicit val 叫做一个 formats 是一个影视参数,这个参数要使用 serializationserialization 当中有一个叫做 formats,这里就接收一个 NoTypeHints

再进行第二步。第二步就是输入 serialization.readread 什么呢?read 外面传的 json,所以把这个json 传进来。要返回什么类型?解析成什么类型?就是这个 Amap location3.11.png

解析完后就拿到一个 result,拿到 result 以后这个 result 就是所需要的类型,那这个 unit 也应该改成 Amap location 这个对象。再把 result 写到下方,那整体上就搞定,方法也写完了,这个章节就暂时告一段落。

相关文章
|
5天前
|
JSON 数据格式
糊涂工具类(hutool)post请求设置body参数为json数据
糊涂工具类(hutool)post请求设置body参数为json数据
161 1
|
5天前
|
JSON 数据格式
人脸检测解析json的工具类face_test
人脸检测解析json的工具类face_test
17 0
|
9月前
|
JSON 前端开发 数据格式
前端学习笔记202306学习笔记第三十七天-js-认识json数据2
前端学习笔记202306学习笔记第三十七天-js-认识json数据2
40 0
|
5天前
|
JSON 前端开发 Java
Spring mvc-文件上传与JSON-学习笔记
Spring mvc-文件上传与JSON-学习笔记
42 2
|
9月前
|
JSON 前端开发 数据格式
前端学习笔记202307学习笔记第六十天-json server的介绍和服务搭建1
前端学习笔记202307学习笔记第六十天-json server的介绍和服务搭建1
55 0
|
9月前
|
JSON 前端开发 数据格式
前端学习笔记202306学习笔记第三十七天-js-认识json数据1
前端学习笔记202306学习笔记第三十七天-js-认识json数据1
38 0
|
9月前
|
JSON 前端开发 数据格式
前端学习笔记202306学习笔记第三十七天-js-认识json数据3
前端学习笔记202306学习笔记第三十七天-js-认识json数据3
42 0
|
10月前
|
JSON 数据格式 Python
python读取exlce并转为json的学习笔记
python读取exlce并转为json的学习笔记
62 0
|
12月前
|
JSON 数据格式
java202303java学习笔记第四十六天-请求-日期参数&json参数1
java202303java学习笔记第四十六天-请求-日期参数&json参数1
61 0
|
12月前
|
JSON 数据格式
java202303java学习笔记第四十六天-请求-日期参数&json参数2
java202303java学习笔记第四十六天-请求-日期参数&json参数2
48 0

热门文章

最新文章