如何在android中使用这种格式创建Json?

时间:2016-07-13 07:55:54

标签: android json soap

我想在Json web服务参数中发送此序列化Soap以从服务器获取数据。我不知道如何序列化Json,如下所示。

我这样做 -

JSONObject jsonObject = new JSONObject();
            try {

                JSONObject obj = new JSONObject();
                //obj.put("MeterSrNo", txtMeterSrMo.getText().toString());
                obj.put("MeterSrNo", txtMeterSrMo.getText().toString());
                jsonObject.put("obj", obj);
                jsonObject.put("SPName", "XXMFU_GETMobilityDetail");
            } catch (JSONException e) {
                e.printStackTrace();
            }

它给我下面的输出 -

{'obj':{"MeterSrNo":"5"},'SPName':'XXMFU_GETMobilityDetail'}

但我想要低于输出。我怎样才能做到这一点?

"{'\obj\':{\"MeterSrNo\":\"5\"},'\SPName\':'XXMFU_GETMobilityDetail'}"

2 个答案:

答案 0 :(得分:0)

使用Gson Library可以进行序列化和荒漠化。

序列化

new Gson()。toJson(object)

<强>反序列化

new Gson()。fromJson(jsonString,MyClass.class);

答案 1 :(得分:0)

尝试以下方式,

snap.value is straight up null.
  

输出

  JSONObject jsonObject = new JSONObject();
  JSONObject jsonMeterObject = new JSONObject();

    try {
        jsonMeterObject.put("MeterSrNo","5");
        jsonObject.put("obj",jsonMeterObject);
        jsonObject.put("SPName","XXMFU_GETMobilityDetail");
    } catch (JSONException e) {
        e.printStackTrace();
    }