服务器如返回JSON

服务器如返回JSON,第1张

jQuery ajax请求
按照json格式拼接好字符串返回就行了
返回
服务器端代码
PrintWriter writer = responsegetWriter();
writerwrite(jotoString()); //这里是你要返回的字符串
writerflush();
writerclose();
//url是请求的服务器地址
//data是请求的参数,格式data:{id:1,name:'user1'}
jQueryajax({type:"POST", url:"member_overtimeaction",data:{}, beforeSend:function () {
//提交数据状态
}, success:function (data) {
//服务器端返回参数处理
var objJson = eval("(" + data + ")"); //json字符串转换为Object
//通过ojbJsonkey *** 作 类似与map
}});

因为这次要从服务器端得到Json数据,并且通过解析之后把解析后的数据显示在Android客户端中,首先部署服务器端代码(直接使用Jsp/Servlet):
构造的Json数据如下:
[{"name":"张三","address":"北京","age":20},{"name":"李四","address":"上海","age":30},{"name":"王五","address":"深圳","age":35}]
[一]服务器端(Personjava省略):
①:数据构造JsonServicejava
public class JsonService {
public static List<Person> getListPerson() {
List<Person> mLists = new ArrayList<Person>();
mListsadd(new Person("张三", "北京", 20));
mListsadd(new Person("李四", "上海", 30));
mListsadd(new Person("王五", "深圳", 35));
return mLists;
}
②:Servlet的代码(包括构造Json数据,没有使用Json数据转换方法)JsonServletjava
public void doGet(>json文件是一种轻量级的数据交互格式。一般在jquery中使用getJSON()方法读取。
$getJSON(url,[data],[callback])
url:加载的页面地址
data: 可选项,发送到服务器的数据,格式是key/value
callback:可选项,加载成功后执行的回调函数
1首先建一个JSON格式的文件userinfojson 保存用户信息。如下:

1234567891011121314151617
[{"name":"张国立","sex":"男","email":"zhangguoli@123com"},{"name":"张铁林","sex":"男","email":"zhangtieli@123com"},{"name":"邓婕","sex":"女","email":"zhenjie@123com"}]
2其次建一个页面用于获取JSON文件里的用户信息数据,并显示

123456789101112131415161718192021222324252627282930313233343536373839404142
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">给你我的一个代码片段,自己去理解吧
解析代码:
/
解析json数据

@param context
源数据

/
private void parseJson(String json)
{
try
{
JSONArray json_1 = new JSONArray(json);
List<Course> list = new ArrayList<Course>();
for (int i = 0; i < json_1length(); i++)
{
JSONObject json_2 = json_1getJSONObject(i);
Systemoutprintln("第一层第" + (i + 1) + "条数据="
+ json_2getString("Name") + "ID:"
+ json_2getInt("ID") + "父级ID:"
+ json_2getInt("ParentID"));
parese(json_2);//TODO
JSONArray json_3 = json_2getJSONArray("Children");
if (json_3length() != 0)
{
for (int j2 = 0; j2 < json_3length(); j2++)
{
JSONObject json_4 = json_3getJSONObject(j2);
Systemoutprintln("第二层第" + (i + 1) + "条数据="
+ json_4getString("Name") + "ID:"
+ json_4getInt("ID") + "父级ID:"
+ json_4getInt("ParentID"));
JSONArray json_5 = json_4getJSONArray("Children");
if (json_5length() != 0)
{
for (int k = 0; k < json_5length(); k++)
{
JSONObject json_6 = json_5getJSONObject(k);
Systemoutprintln("第三层第" + k + "条数据"
+ json_6getString("Name") + "ID:"
+ json_6getInt("ID") + "父级ID:"
+ json_6getInt("ParentID"));
}
}
}
}
}
}
catch (JSONException e)
{
eprintStackTrace();
}
}
数据源:
public class Cosnt
{
public static final String SOURCE = "[{Name:语言知识与语言运用,ID:7332,Children:[{Name:字音,ID:7333,Children:[{Name:字音,ID:7334,Children:[],ParentID:7333}],ParentID:7332},{Name:字形,ID:7339,Children:[],ParentID:7332},{Name:词语,ID:7345,Children:[],ParentID:7332},{Name:句子,ID:7375,Children:[],ParentID:7332},{Name:标点符号,ID:7381,Children:[],ParentID:7332},{Name:修辞,ID:7387,Children:[],ParentID:7332},{Name:语言运用与语言表达,ID:7390,Children:[],ParentID:7332}],ParentID:0},"
+ "{Name:文化、文学常识和名篇名句,ID:7405,Children:[{Name:作家作品,ID:7406,Children:[],ParentID:7405},{Name:古代文化常识,ID:7428,Children:[],ParentID:7405},{Name:名篇名句,ID:7431,Children:[],ParentID:7405}],ParentID:0},"
+ "{Name:文言文,ID :7434,Children:[{Name:文言实词,ID:7435,Children:[],ParentID:7434},{Name:文言虚词,ID:7439,Children:[],ParentID:7434},{Name:文言句式,ID:7442,Children:[],ParentID:7434},{Name:文言文阅读,ID:7445,Children:[],ParentID:7434}],ParentID:0}]";
}

那要看你的json数据是什么要的格式,比如javabean实体中包含实体的转换
JSONObject jsonObject = JSONObjectfromObject("你的json数据");
Map<String, Object> classMap = new HashMap<String, Object>();
/如:{"validateMessagesShowId":"_validatorMessage","status":true,">public String getWebContent(String url) { // 创建一个>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12773951.html

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

发表评论

登录后才能评论

评论列表(0条)

保存