XML

2017-01-17 6 views
0

私はお願いするつもりです質問の種類は何度も尋ねていることを知っているが、それでも私は私の質問が落ちたが異なり、XML

I JSON形式に隠れたXML文字列に必要

ので、私は形成するために、XML解析を使用しています次の時間を、私は私と一緒に、従業員のクラスを持っていないと、このルートタグは何もすることができ

<employee> 
<empId>1</empId> 
<address>India</address> 
</employee> 

のように私のXMLフォーマットが見えますXMLをXMLに変換した後、xml文字列をJSONに変換しています

JSONObject xmlJSONObj = XML.toJSONObject(data); 
String jsonPreetyPrintString = xmlJSONObj.toString(1); 
response = jsonPreetyString; 

と私のJSON出力この

{"employee":{ 
"empId":1, 
"address":"India" 
} 
} 

のように来しかし、私は

{ 
"empId":1, 
"address":"India" 
} 

のようなルックスに私の出力を期待しています私はこれをachiveできる方法を私に勧めてください。

答えて

0

ルート要素の名前がわかっている場合、たとえば、次のようになります。クラスの名前は、あなたが単にJSONObject#getJSONObjectを使用することができます:私は私のDBからこれらの値を取得しています私と一緒にクラスを持っていない

http://json-lib.sourceforge.net/apidocs/jdk15/net/sf/json/JSONObject.html#getJSONObject(java.lang.String)

@Test 
public void testJSON() throws JSONException { 
    JSONObject jsonObj = new JSONObject().put("A", new JSONObject().put("a", 1).put("b", 5)); 

    String[] fieldNames = JSONObject.getNames(jsonObj); 
    String key = fieldNames[0]; 

    System.out.println(jsonObj); // {"A":{"a":1,"b":5}} 
    System.out.println(jsonObj.getJSONObject(key)); // {"a":1,"b":5} 
} 

private class A { 
    private int a = 1; 
    private int b = 2; 
} 
+0

luc14n0。今度は従業員ですが、次回はとなり、このオープンソースのlibですか? – Rohitesh

+0

私は自分の答えを更新しました。 JSONオブジェクトのフィールド名のリストを取得するには、JSONObject#getNamesを使用します。 –