Android 单击按钮时使用json解析设置TextView

Android 单击按钮时使用json解析设置TextView,android,json,Android,Json,我想让应用程序,如果点击按钮,文本视图改变json解析数据。那么,我是怎么做到的 这是我的代码: public class MainActivity extends AppCompatActivity { TextView tampilkan; Button btn1; String str_json = "{\"harga_jus\":\"{\"mangga\":\"5000\",\"jeruk\":\"3000\",\"apel\"4000\

我想让应用程序,如果点击按钮,文本视图改变json解析数据。那么,我是怎么做到的

这是我的代码:

 public class MainActivity extends AppCompatActivity {
        TextView tampilkan;
        Button btn1;
        String str_json = "{\"harga_jus\":\"{\"mangga\":\"5000\",\"jeruk\":\"3000\",\"apel\"4000\"}}";
        String copy;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tampilkan = (TextView)findViewById(R.id.tampil);
            btn1 = (Button)findViewById(R.id.btn);
            try {
                JSONObject harga_jus = new JSONObject(str_json);
                JSONObject jus = harga_jus.getJSONObject("harga_jus");
                final String mangga = jus.getString("mangga");
                copy = mangga;
                btn1.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        tampilkan.setText(copy);
                    }
                });
            }
            catch (Exception e){
                e.printStackTrace();
            }

        }
    }
只需阅读logcat:

org.json.JSONException:Unterminated object位于{“harga_jus”:“{“mangga”:“5000”,“jeruk”:“3000”,“apel”4000“}”的第17个字符处

您的json应该是:

String str_json = "{\"harga_jus\":{\"mangga\":\"5000\",\"jeruk\":\"3000\",\"apel\":\"4000\"}}";
String str_json = "{\"harga_jus\":{\"mangga\":\"5000\",\"jeruk\":\"3000\",\"apel\":\"4000\"}}";

您的json无效,请将字符串替换为以下内容:


您现在遇到了什么问题?1.按钮单击2.分析数据3.更改文本视图。。。从这些你现在无法理解的东西文本视图不随json更改解析数据你的json无效。格式错误。@PavneetSingh在印度尼西亚我们称之为apple fruit,apel。你的应该是json也无效我猜:PIt的有效json。我已经运行过了。所以当您运行时,请删除\并使用它,或者如何使用它?谢谢@Divers。添加\“{\”时,我错了。谢谢您this@Divers我有一个个人请求add
{“harga_jus”:{“mangga”:“5000”,“jeruk”:“3000”,“apel”:“4000”}
这个权利,我的错误是add\{”。谢谢。@IntelliJAmiya无需添加任何内容。他发布了已经可以使用的java代码。与我的代码相同。@Divers是的,这是我想知道的,你是我的大英雄。谢谢@IntelliJAmiya@DennyKurniawan向前走当然,谢谢你的精神。@IntelliJ Amiya
    final TextView tampilkan = (TextView) findViewById(R.id.tampil);
    Button btn1 = (Button) findViewById(R.id.btn);
    String JSON = "{ \"harga_jus\": { \"mangga\": \"5000\", \"jeruk\": \"3000\", \"apel\": \"4000\" } }";
    try {
        JSONObject harga_jus = new JSONObject(JSON);
        JSONObject jus = harga_jus.getJSONObject("harga_jus");
        final String mangga = jus.getString("mangga");

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tampilkan.setText(mangga);
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
    }