0

私は実際にこの方法で pojo データを json 文字列に変換しました。

 Gson gson = new GsonBuilder().disableHtmlEscaping().create();
    String json=gson.toJson(user);

json 文字列を取得しましたが、それは実際に必要な形式ではありません。

json = {"userID":300,"userName":"asd","password":"s","enabled":1}

したがって、以下のようにキーと値のペアでJson文字列を変換したいのですが、

{"userID":300,"userName":"asd","password":"s","enabled":1}

以下のように値のみ(キーなし)のJson文字列に

[300,"asd","s",1]
4

3 に答える 3

1

だから私はあなたの文字列の後に続けますjson

// lets deserialize your json string and get a hashmap
Type collectionType = new TypeToken<HashMap<String, Object>>(){}.getType();
HashMap<String, Object> hm = gson.fromJson(json, collectionType);
String finalJson = gson.toJson(hm.values());
// aand taa-daa!!
System.out.println(finalJson);

finalJson[300,"asd","s",1]

編集:ライブラリは次のとおりです。

import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
于 2013-05-14T11:55:23.043 に答える
0

なぜそれをしたいのか聞いてもいいですか?たとえば、そのJsonをkey-valueどのように取得しないと、それ300は彼の所有物idであり、彼のmoney所有物ではないことがわかりますか?

プロパティを区別することはできません。あまりお勧めしません。

とにかく、それを行う唯一の方法は、文字列を手動で「分割」し、プロパティを空白の値に置き換えるjson.replace("\"userID\"", "");ことです。すべてのプロパティに対してそれを行う必要があります。

于 2013-05-14T11:29:33.347 に答える