1. 程式人生 > >gson動態解析json

gson動態解析json

<!-- java版本 -->
public class TestEnty {
Map<String,Object> li;
}
package com.Company.Demo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.google.gson.Gson;
import java.util.Map;

public class MainActivity extends AppCompatActivity {
private String json = "{li:{"temperature":"15","weather":"多雲轉晴","wind":"東北風微風","week":"星期日","date":"20151011"}}";

@Override 
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
Gson gson = new Gson(); 
TestEnty testEnty = gson.fromJson(json, TestEnty.class); 
Map<String, Object> li = testEnty.li; 

for (String key : li.keySet()) {
    Log.e("key", key); 
    Log.e("li.get(key).toString()", li.get(key).toString()); 
    }
  }
}


<!-- scala版本 -->

class TestEnty {
  var li :java.util.Map[String,Object] = null;
}
object App {
  
  def foo(x : Array[String]) = x.foldLeft("")((a,b) => a + b)

  def main(args : Array[String]) {
    import com.google.gson.Gson
    val json = "{li:{\"temperature\":\"15\",\"weather\":\"多雲轉晴\",\"wind\":\"東北風微風\",\"week\":\"星期日\",\"date\":\"20151011\"}}";
    val gson = new Gson
    val testEnty = gson.fromJson(json, classOf[TestEnty])
    val li = testEnty.li
    import scala.collection.JavaConverters._
    li.asScala.foreach(each=>{
      println(each._1+"  "+ each._2)
    })
  }
}