一种是普通的,一种是带有数组形式的;
普通形式的:
服务器端返回的json数据格式如下:
复制代码代码如下:
{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}
分析代码如下:
复制代码代码如下:
// TODO 状态处理 500 200
int res = 0
res = httpClient.execute(httpPost).getStatusLine().getStatusCode()
if (res == 200) {
/*
* 当返回码为200时,做处理
* 得到服务器端返回json数据,并做处理
1、检查JSON数据格式是否正确。可以使用在线JSON格式验证工具或者JSON编辑器等工具对返回的JSON数据进行检验,确保JSON数据的格式符合标准格式要求。2、检查JSON数据中的键值对是否匹配。在解析JSON数据时,需要确保JSON数据中的键值对与程序中定义的键值对匹配,例如,如果程序定义了一个名为“name”的键,但是返回的JSON数据中没有这个键,就会导致解析JSON数据时出现异常。
3、检查JSON数据类型是否匹配。在解析JSON数据时,需要确保JSON数据中的各个键对应的值的类型与程序中定义的类型匹配。例如,如果程序定义了一个名为“age”的键,并且类型为整数类型,但是返回的JSON数据中“age”对应的值是一个字符串类型,就会导致解析JSON数据时出现异常。
4、检查程序中的JSON解析代码是否正确。在解析JSON数据时,需要确保程序中的JSON解析代码正确无误,例如,使用了正确的JSON解析库和正确的解析方法。
5、检查网络连接是否正常。如果在解析JSON数据时出现异常,有可能是网络连接出现了问题,需要检查网络连接是否正常。
检查一下对方url的编码
在获取时指定一下字符编码就行了
URL url = new URL(path)HttpURLConnection conn = (HttpURLConnection) url.openConnection()
//这里需要去查看一下url编码
//conn.setRequestProperty("contentType", "GBK")
conn.setRequestProperty("contentType", "UTF-8")
然后取出来的数据就不会是????了
想要输出到文本里我给你一个方法
/**
* 追加文件:使用FileWriter
*
* @param fileName
* @param content
*/
public static void contentAppend(String fileName, String content) {
FileWriter writer = null
try {
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
writer = new FileWriter(fileName, true)
writer.write(content)
} catch (IOException e) {
e.printStackTrace()
} finally {
try {
if(writer != null){
writer.close()
}
} catch (IOException e) {
e.printStackTrace()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)