第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSONObject 未正確更新

JSONObject 未正確更新

胡子哥哥 2023-08-04 14:52:00
我正在更新 JSONArray 內的 JSONObject 中的值,當更改值時,會更新所有 JSONArray 中的值。有人知道為什么嗎? public static void uploadMediaWithThumbnail( final LeagueActivity.UploadingCallback call,                                             final long leagueId,                                             final JSONArray information, final JsonHttpResponseHandler handler) {    final AtomicInteger receivedCount = new AtomicInteger();    receivedCount.set(0);    call.progressCall(10);    getMediaUploadUrl(leagueId, information,  new JsonHttpResponseHandler() {        @Override        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {            try {                call.progressCall(20);                final JSONArray allData = response.getJSONArray("upload_data");                AsyncHttpClient[] clients = new AsyncHttpClient[allData.length()*2];                JSONArray jarr = information;                for (int i = 0; i < allData.length(); i++ ) {                    final String uploadUrl = allData.getJSONObject(i).getString("content_url");                    final String previewUrl = allData.getJSONObject(i).getString("preview_url");                    jarr.getJSONObject(i).put("content", uploadUrl);                    jarr.getJSONObject(i).put("preview", previewUrl);                }                final JSONArray newInfo = shallowCopy(jarr);                Log.d("Log1", newInfo.getJSONObject(1).getString("content"));                Log.d("Log2", newInfo.getJSONObject(0).getString("content"));記錄 Log1 和 Log2 時,它們包含相同的鏈接信息是這樣的數(shù)據(jù)[{"type":"video","format":"mp4","preview_format":"jpg"}, {"type":"video","format":"mp4","preview_format":"jpg"}]AllData 是從 REST HTTP 調用接收到的信息,并且與信息具有相同的長度
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

您想要將信息項添加到 JSONObject 中,然后將該對象添加到 JSONArray 中。


    JSONArray jarr = information;


    for (int i = 0; i < allData.length(); i++ ) {

        final String uploadUrl = allData.getJSONObject(i).getString("content_url");

        final String previewUrl = allData.getJSONObject(i).getString("preview_url");


        JSONObject object = new JSONObject();

        object.put("content", uploadUrl);

        object.put("preview", previewUrl);

        jarr.put(i, object);

    }

在 for 循環(huán)之后,您可以從鍵中獲取值。


或者,如果 jarr 已經有對象......


    JSONArray jarr = information;


    for (int i = 0; i < allData.length(); i++ ) {

        final String uploadUrl = allData.getJSONObject(i).getString("content_url");

        final String previewUrl = allData.getJSONObject(i).getString("preview_url");


        JSONObject object = new jarr.getJSONObject(i);

        object.put("content", uploadUrl);

        object.put("preview", previewUrl);

        jarr.put(i, object);

    }

這沒有經過測試,但應該可以工作。哈哈


查看完整回答
反對 回復 2023-08-04
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

嘗試這樣,


JSONArray jsonArray;

    try {

//here replace with your data object

        jsonArray = new JSONArray(" [{\"type\":\"video\",\"format\":\"mp4\",\"preview_format\":\"jpg\"}, {\"type\":\"video\",\"format\":\"mp4\",\"preview_format\":\"jpg\"}]");

        for (int i = 0; i < jsonArray.length(); i++) {

            JSONObject jsonObject = jsonArray.getJSONObject(i);

            jsonObject.put("content", "test value " + i);

        }

        Log.d("Print test",  jsonArray.getJSONObject(0).toString());

        Log.d("Print test",  jsonArray.getJSONObject(1).toString());

    } catch (

            JSONException e) {

        e.printStackTrace();

    }


查看完整回答
反對 回復 2023-08-04
  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號