简体   繁体   English

如何在Java Servlet中使用JSON数据

[英]How to use json data in java servlet

I am using knockout js and want to use json data to my servlet.i want to use it in my servlet but i am not able to how to get a value of a key of json data. 我正在使用敲除js并想将json数据用于我的servlet。我想在我的servlet中使用它,但我无法如何获取json数据键的值。 my json data is 我的json数据是

{"data":[{"BranchId":"xzc","Name":"zxc","Description":"zxc","Template":"Template1","MetaKeyword":"zxc","MetaDescription":"zxc","MetaTitle":"zxc","EnableSearch":"No"}]}

My js code is 我的js代码是

self.SaveBranch = function () {
    $.ajax({
        type: "GET",
        url: '/bin/feed/currency',
        data: "BranchId="+ko.toJSON({ data: self.Branches }),
        contentType: "application/json; charset=utf-8",
        success: function (result) {
        var navTitle = result['Name'];
            alert(navTitle);
        },
        error: function (err) {
        alert(err.status + " - " + err.statusText);
    }
    });
};

in my servlet i am doing 在我的servlet中

String BranchId =(String)request.getParameter("BranchId");
JSONWriter writer = new JSONWriter(response.getWriter());
writer.object();
        writer.key("Name").value(BranchId.name() );
        writer.endObject();

i want to get the BranchID and Name in my servlet. 我想在我的servlet中获取BranchID和名称。 How can i achieve this ? 我怎样才能做到这一点?

You need to parse the parameter value being JSON. 您需要将参数值解析为JSON。 There are many Java libs to do so (Google GSON, Jackson, org.json, ...). 有许多Java库可以执行此操作(Google GSON,Jackson,org.json等)。 According choosen lib your code will be something like: 根据选择的lib,您的代码将类似于:

JsObject branchId = Json.parse(request.getParameter("BranchId"));
String name = branchId.get("name");

Replace JsObject by type provided by JSON lib, same for .parse(...) and .get(...) . 用JSON lib提供的类型替换JsObject ,与.parse(...).get(...)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM