如何解析Json数据并将其传递给另一个活动?

时间:2018-12-09 16:12:18

标签: java android json

我有一个php文件,该文件具有Json格式的输出。

{"user":{"id":"2","name":"aris","surname":"roumeliotis","expire_memb":"201812-15","program":"chest_workout"}
,"exercise1":
{"name":"chest_exercise_name_1",
"gif":"\/img\/ex\/ex_1",
"place":"machine 18",
"muscle_team":"chest"}

,"exercise2":
{"name":"chest_exercise_name_2",
"gif":"\/img\/ex\/ex_2",
"place":"machine 20",
"muscle_team":"chest"}

这意味着ID为2的用户在其健身程序中进行了2次锻炼。 我知道如何解析数据(使用Volley库),但是由于exercise1和exercise2具有相同的键名,因此无法使用意图将它们发送到另一个活动。

每个用户的练习次数可能有所不同,这意味着php文件输出是动态的,并且对于用户而言可能有很多练习。 我可以将用户数据传递给另一个活动,因为它们是唯一的,但我不能传递练习数据。我尝试使用数组,但是没有用。从创建JSONobject到其他活动的getIntent()开始的代码示例。

这的重点是使用练习数据在其他活动中启动for()并假设我知道练习的次数,在动态创建的TextView中显示数据。

1 个答案:

答案 0 :(得分:0)

我认为,最好将整个json发送到另一个活动,然后根据需要在新活动中再次对其进行解析。

像这样创建活动:

library(microbenchmark)

microbenchmark(
  m1 = {SUM <- 0
for (i in 1:100){
  for (j in 1:100) {
    SUM <- SUM + (1 - max(u[i], v[j])) * (1 - max(x[i], y[i]))
  }
}},
  m2 = {
    dat <- data_frame(u, v, x, y)
    dat2 <- dat %>% complete(nesting(u, x), nesting(v, y))

    SUM2 <- sum(with(dat2, (1 - pmax(u, v)) * (1 - pmax(x, y))))
    SUM2
  })
# Unit: milliseconds
#  expr       min        lq      mean    median        uq      max neval cld
#    m1 13.983890 15.045932 17.579693 16.554175 18.267269 39.15417   100   b
#    m2  5.716827  6.226258  7.029025  6.735946  7.186002 14.09338   100  a 

像这样获取json:

Intent intent=new Intent(this,AnotherActivtiy.class);
intent.putExtra("json",json);