Передача данных JSON в другое действие и доступ к определенным частям массива JSON (и позиции) в новом действии

Я передаю массив/объект JSON через и Intent.putExtra в новое действие, где я хочу использовать определенные строки внутри этого массива. Я хочу знать, как сделать ссылку на передаваемый JSON и как я могу получить доступ к String Extras??

    {
    @Override
    public void onBindViewHolder(final CompanyAdapter.CompanyViewHolder 
    holder, final int position) {
        //CompanyItem currentItem = companyItem.get(position);
    //
        //holder.mtitleText.setText(currentItem.getmCompanyTitle());
       //holder.mnumberText.setText(currentItem.getmCompanyDescription());
       //holder.mNodeText.setText(currentItem.getmNodeCount());

        Log.d(TAG, "currentItemNode: " + position);

        holder.mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                Log.d(TAG, "Clicked: " + position);
                Object dataSet = null;

                try {
                    dataSet = companyItem.get(position);
                } catch (JSONException e) {
                    e.printStackTrace();
                }

                Log.d(TAG, "TEST: " + String.valueOf(dataSet));

                Intent intent = new Intent(view.getContext(), 
       NodeDrawActivity.class);
                intent.putExtra("jsonObject", dataSet.toString());
                view.getContext().startActivity(intent);

                Log.d(TAG, "TEST2: " + dataSet);

            }
        });

        try{






      holder.mtitleText.setText(companyItem.getJSONObject(position) 
     .getString("title"));
            holder.mnumberText.setText 
     (companyItem.getJSONObject(position).getString("description"));
            //holder.mNodeText.setText 
     (companyItem.getJSONObject(position).getString("company_status"));
            Log.d(TAG, "onBindViewHolder: " + companyItem);

        }catch (JSONException e){
            e.printStackTrace();
        }



    }

    @Override
    public int getItemCount() {

        Log.d(TAG, "getItemCount:");
        return companyItem.length();
    }


    }






    ----------------------------New Activity On Create---------------------





        {
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.node_activity);

        mTitleText = findViewById(R.id.comanyName);
        mDescriptionText = findViewById(R.id.descTitle);
        mOfficerText = findViewById(R.id.officerText);
        mAppCount = findViewById(R.id.appCount);


        Intent intent = getIntent();
        //intent.putExtra("jsonObject", companyData.toString());
        String companyName = intent.getStringExtra("jsonObject");
        String companyDescription = intent.getStringExtra("description");

        Log.d(TAG, "companyDescription: " + companyDescription);

        Log.d(TAG, "companyData: " + companyName);

    //        Object companyData = null;
    //
    //        try {
    //            companyData = companyItem.get();
    //        } catch (JSONException e) {
    //            e.printStackTrace();
    //        }



    //mTitleText.getText(companyItem.getJSONObject().getString(mtitleText);
       // 

     mTitleText.setText 
    (companyItem.getJSONObject(position).getString("title"));
       // 



    mnumberText.setText
    companyItem.getJSONObject(position).getString("description"));





    // 

   holder.mNodeText.setText(companyItem.getJSONObject(position).getString 
    ("com 
    pany_status"));
        Log.d(TAG, "onBindViewHolder: " + companyItem);

    }

Я хочу получить имя и описание заголовка, а также позицию из другого намерения действия

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
19
1

Ответы 1

Вам нужно сначала десериализовать свой объект во втором действии с помощью Gson.

String dataSet = intent.getStringExtra("jsonObject");
Gson gsonData = new Gson();
Object data = gsonData.fromJson(dataSet, Object.class);

String companyName = data.getJSONObject(position) 
 .getString("title"));
String companyDescription = data.getJSONObject(position).getString("description"));

Что-то в этом роде, чтобы получить ваши данные JSON из вашего исходного объекта, потому что сейчас это все еще просто строка.

Другие вопросы по теме