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

【总结】Json的转换与传递

概要项目中常用的json形式数据在前后台实现string与object对象等各种互转相关知识点整理。前端:FormData–JsonObject–JsonString:jsp片
  • 概要
    项目中常用的json形式数据在前后台实现string与object对象等各种互转相关知识点整理。
  • 前端:Form Data–>Json Object–>Json String:

    jsp片段:

    cd:

    name:

    js片段:

    //具有name、value属性,序列化成一个Object对象
    $.fn.serializeObject = function() {

    var obj = {};
    var arr = this.serializeArray();
    $.each(arr, function() {
    if (obj[this.name]) {
    if (!obj[this.name].push) {
    obj[this.name] = [ obj[this.name] ];
    }
    obj[this.name].push(this.value || '');
    } else {
    obj[this.name] = this.value || '';
    }
    });
    return obj;

    };

    var jsOnForm= $(“#jsonForm”);
    // json对象转json字符串
    var jsOnStr= JSON.stringify(jsonForm.serializeObject());
    alert(jsonStr);

  • 前端:Json String–>Json Object

    js片段:

    jQuery.parseJSON(jsonStr));

  • 前后端:Json Object–>JavaBean:

    js片段:

    // rb须与后台实体变量名称同名
    function getRbJson(){

    var rbJson = {};
    rbJson["rb.goodsType"] = "a";
    rbJson["rb.goodsCd"] = "b";
    return rbJson;

    }
    $(function(){

    $.ajax({
    url: "setJsonObject.action",
    type: 'POST',
    cache: false,
    async:false,
    data: getRbJson(),
    success: function (text) {
    },
    error: function (jqXHR, textStatus, errorThrown) {
    alert(jqXHR.responseText);
    }
    });

    });

    java片段:

    private RbGoods rb;

    public RbGoods getRb() {

    return rb;

    }

    public void setRb(RbGoods rb) {

    this.rb = rb;

    }

    public String setJsonObject() {

    System.out.println(rb.getGoodsCd());
    return SUCCESS;

    }

  • 前后端:Json String–>JavaBean:

    js片段:

    var rbStr = {};
    var rbArray = [];
    rbArray.push({goodsCd:’1′,goodsName:’che’});
    rbArray.push({goodsCd:’2′,goodsName:’chen’});
    rbStr[“jsonArrayStr”] = rbArray;
    $.ajax({

    url: "jsonStrToObject.action",
    type: 'POST',
    cache: false,
    async:false,
    data: {jsonStr:JSON.stringify(rbArray)},
    success: function (text) {},
    error: function (jqXHR, textStatus, errorThrown) {
    alert(jqXHR.responseText);
    }

    });

    java片段:

private String jsonStr;
public String getJsonStr() {
return jsonStr;
}
public void setJsonStr(String jsonStr) {
this.jsOnStr= jsonStr;
}
public String jsonStrToObject() {
// String转JSON
JSONArray jsOnArray= JSONArray.fromObject(jsonStr); for(int i = 0; i // JSON转object对象
String JOStr = jsonArray.getString(i);
JSONObject JO = JSONObject.fromObject(JOStr);
RbGoods goods =(RbGoods)JSONObject.toBean(JO, RbGoods.class);
System.out.println(goods.getGoodsCd());
} return SUCCESS;
}
function newchePoint(obj) {
return " "\" type=\""+obj.type+"\" value=\"\"/>\r\n";
}

  • 更新ing…

推荐阅读
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在使用 jQuery 的 `html()` 方法时,我发现了一个奇怪的现象:该方法无法完整地插入指定的字符串内容。具体来说,当尝试插入较长或包含特殊字符的字符串时,部分内容可能会被截断或丢失。这一问题可能与 jQuery 对字符串的处理方式有关,建议在实际应用中进行充分测试以确保数据完整性。 ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 本文详细介绍了在编写jQuery插件时需要注意的关键要点,包括模块化支持、命名规范和性能优化等内容,旨在帮助开发者提高插件的质量和可维护性。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文深入解析了 jQuery 中用于扩展功能的三个关键方法:`$.extend()`、`$.fn` 和 `$.fn.extend()`。其中,`$.extend()` 用于扩展 jQuery 对象本身,而 `$.fn.extend()` 则用于扩展 jQuery 的原型对象,使自定义方法能够作为 jQuery 实例的方法使用。通过这些方法,开发者可以轻松地创建和集成自定义插件,增强 jQuery 的功能。文章详细介绍了每个方法的用法、参数及实际应用场景,帮助读者更好地理解和运用这些强大的工具。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 我在使用 AngularJS 的路由功能开发单页应用 (SPA),但需要支持 IE7(包括 IE8 的 IE7 兼容模式)。我希望浏览器的历史记录功能能够正常工作,即使需要使用 jQuery 插件。 ... [详细]
  • 本文探讨了如何在 Java 中将多参数方法通过 Lambda 表达式传递给一个接受 List 的 Function。具体分析了 `OrderUtil` 类中的 `runInBatches` 方法及其使用场景。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
author-avatar
超人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有