0

私は以下のようにサーバーからJSONを取得しています

   {
    "XXXX": {
        "type": "RSS",
        "value": ""
    },
    "YYYY": {
        "type": "String",
        "value": ""
    },
    "ZZZZ": {
        "type": "String",
        "value": ""
    }
}

String次に、すべてのXXXX、YYYY、およびZZZZのフィールドに値を追加する必要があります。

Eclipseを使用していて、XXXX、YYYY、ZZZZの「value」の値を変更する必要があり、フィールドを追加する必要があります

{
    "MMMM": {
        "type": "Image",
        "value": "a7e8bec0-87ed-11e2-aa2e-52540025ab96_2_1362746556"
    }
}

ZZZZの後。方法を教えてください。

4

6 に答える 6

6

これを試して

String jsonstring="{
    "XXXX": {
        "type": "RSS",
        "value": ""
    },
    "YYYY": {
        "type": "String",
        "value": ""
    },
    "ZZZZ": {
        "type": "String",
        "value": ""
    }
}";

JSONObject object=new JSONObject(jsonstring);
JSONObject childobject=object.getJSONObject("XXXX");

JSONObject modifiedjson=new JSONObject();
modifiedjson.put("type",childobject.get("type"));
modifiedjson.put("value","newvalue");  // Add new value of XXXX here

//

JSONObject mmjson=new JSONObject();
mmjson.put("type","image");
mmjson.put("value","a7e8bec0-87ed-11e2-aa2e-52540025ab96_2_1362746556");  // Add new value of MMM here

JSONObject newjson=new JSONObject();
newjson.put("MMMM",mmjson.toString());
newjson.put("XXXX",modifiedjson.toString());
newjson.put("YYYY",object.get("YYYY"));
newjson.put("ZZZZ",object.get("ZZZZ"));
于 2013-03-11T09:28:08.137 に答える
3

私はあなたが意味したと思います

{"XXXX":
{"type":"RSS","value":"},
"YYYY (mins)":{"type":"String","value":""},
"ZZZZ":{"type":"String","value":""}

サーバーから取得するJSONです。いつでもJSONObject.toStringを取得し、必要に応じて編集してから、次のようにすることができます。

JSONObject obj = new JSONObject(myString);

JSONにキー値を追加する必要がある場合は、次のことを試してください。

JSONObject value = new JSONObject();
value.put("key","value");
value.put("key","value");//add all the field you want for ZZZZ.
obj.put("ZZZZ",value);
于 2013-03-11T09:09:23.803 に答える
0

JavaScript自体ですべての操作を行うことができます。

サーバーからの日付を変数に格納しましょうa

var a = {
    "XXXX":{"type":"RSS","value":"},
    "YYYY (mins)":{"type":"String","value":""},
    "ZZZZ":{"type":"String","value":""}
}

値を変更するには:

a['XXXX']['value'] = 'new_value1';
a['YYYY']['value'] = 'new_value2';
a['ZZZZ']['value'] = 'new_value3';

フィールドを追加するには:

a["MMMM"] = {"type":"Image","value":"a7e8bec0-87ed-11e2-aa2e-52540025ab96_2_1362746556"}}
于 2013-03-11T09:08:19.697 に答える
0

文字列の場合は、指定した値を検索して、新しい文字列を連結するだけです。

JSONオブジェクトの場合は、JSONオブジェクトに新しい値を追加し、操作する値を検索して新しい値を設定できます。

今あなたは何をしていますか?どこに問題があるのか​​、コードを教えていただけますか?そして、このコードでJSONにどのようにアクセスしているかを示してください。

于 2013-03-11T09:03:38.030 に答える
0

文字列を置き換えるためのユーザーJava文字列置換メソッド。

Jsonを文字列として取得し、文字列置換メソッドを使用して値を置換します。

これが小さな例です。

String replaceSample = "This String replace Example shows how to replace one char from 

String newString = replaceSample.replace('r', 't');

ありがとう。

于 2013-03-11T09:07:06.517 に答える
0
 var source={
                "XXXX": {
                    "type": "RSS",
                    "value": ""
                },
                "YYYY": {
                    "type": "String",
                    "value": ""
                },
                "ZZZZ": {
                    "type": "String",
                    "value": ""
                }
            }

そして、あなたが追加したい要素

 var element={
        "type": "Image",
        "value": "a7e8bec0-87ed-11e2-aa2e-52540025ab96_2_1362746556"
    };

以下のスクリプトで行うことができます、

source["MMMM"]=element;

また

source.MMMM=element;
于 2013-03-11T09:07:49.133 に答える