Android 解析json问题

Android 解析json问题,第1张

Android 解析json的方式为:

1、首先,搭建一个服务器的工程:JsonProject这个项目

源代码:

Person.java

package com.json.domain

public class Person {

private int id

private String name

private String address

public Person() {

super()

}

public Person(int id, String name, String addrss) {

super()

this.id = id

this.name = name

this.address = addrss

}

public int getId() {

return id

}

public void setId(int id) {

this.id = id

}

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

public String getAddress() {

return address

}

public void setAddress(String address) {

this.address = address

}

@Override

public String toString() {

return "Person [addrss=" + address + ", id=" + id + ", name=" + name

+ "]"

}

}

JsonService.java

package com.json.service

import java.util.ArrayList

import java.util.HashMap

import java.util.List

import java.util.Map

import com.json.domain.Person

public class JsonService {

public JsonService() {

}

public Person getPerson(){

Person person = new Person(1001,"jack","上海黄浦区")

return person

}

public List<Person>getListPerson(){

List<Person>list = new ArrayList<Person>()

Person person1 = new Person(1001,"jack","上海黄浦区")

Person person2 = new Person(1002,"rose","上海闵行区")

Person person3 = new Person(1003,"mick","上海黄浦区")

list.add(person1)

list.add(person2)

list.add(person3)

return list

}

public List<String>getListString(){

List<String>list = new ArrayList<String>()

list.add("北京")

list.add("上海")

list.add("湖南")

return list

}

public List<Map<String,Object>>getListMaps(){

List<Map<String,Object>>list = new ArrayList<Map<String,Object>>()

Map<String,Object>map1 = new HashMap<String, Object>()

Map<String,Object>map2 = new HashMap<String, Object>()

map1.put("id", 1001)

map1.put("name", "jack")

map1.put("address", "北京")

map2.put("id", 1001)

map2.put("name", "rose")

map2.put("address", "上海")

list.add(map1)

list.add(map2)

return list

}

}

JsonServlet.java

package com.json.servlet

import java.io.IOException

import java.io.PrintWriter

import javax.servlet.ServletException

import javax.servlet.http.HttpServlet

import javax.servlet.http.HttpServletRequest

import javax.servlet.http.HttpServletResponse

import com.json.service.JsonService

import com.json.tools.JsonTools

public class JsonServlet extends HttpServlet {

private JsonService service

/**

* Constructor of the object.

*/

public JsonServlet() {

super()

}

/**

* Destruction of the servlet. <br>

*/

public void destroy() {

super.destroy()// Just puts "destroy" string in log

// Put your code here

}

/**

* The doGet method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to get.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response)

}

/**

* The doPost method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to post.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/htmlcharset=utf-8")

request.setCharacterEncoding("utf-8")

response.setCharacterEncoding("utf-8")

PrintWriter out = response.getWriter()

String jsonString = ""

String action_flag = request.getParameter("action_flag")

if(action_flag.equals("person")){

jsonString = JsonTools.createJsonString("person", service.getPerson())

}else if(action_flag.equals("persons")){

jsonString = JsonTools.createJsonString("persons", service.getListPerson())

}else if(action_flag.equals("listString")){

jsonString = JsonTools.createJsonString("listString", service.getListString())

}else if(action_flag.equals("listMap")){

jsonString = JsonTools.createJsonString("listMap", service.getListMaps())

}

out.println(jsonString)

out.flush()

out.close()

}

/**

* Initialization of the servlet. <br>

*

* @throws ServletException if an error occurs

*/

public void init() throws ServletException {

service = new JsonService()

}

}

2、通过浏览器

访问地址一:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=person

输出以下结果:

{"person":{"address":"上海黄浦区","id":1001,"name":"jack"}

访问地址二:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=persons

输出以下结果:

{"persons":[{"address":"上海黄浦区","id":1001,"name":"jack"},{"addrss":"上海闵行区","id":1002,"name":"rose"},{"address":"上海黄浦区","id":1003,"name":"mick"}]}

访问地址三:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listString

输出以下结果:

{"persons":["北京","上海","湖南"]}

访问地址四:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listMap

输出以下结果:

{"persons":[{"id":1001,"address":"北京","name":"jack"},{"id":1001,"address":"上海","name":"rose"}]}

            //从http request取得json字符串

            string jsonString = Server.UrlDecode(Request["json"])

             //从http request取得id

            int groupid = Convert.ToInt32(Request["groupid"])

            //用自带的序列化方法将其转换成定义好的model类,具体的方法说明可以百度下

            List<UserModel> listmodel = JsonConvert.DeserializeObject<List<UserModel>>(jsonString)

             //进行保存操作

            service.SaveAuthority(groupid, listmodel)


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/280119.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存