您好,我有这个代码,我想将此数据解析为对象,现在我得到了一个 anyType 的字符串
我想分别得到描述对象纬度对象和经度对象
@SuppressLint("NewApi")
public class MainActivity extends Activity {
private static final String SOAP_ACTION = "http://tempuri.org/xxxx/xxxx";
private static final String METHOD_NAME = "xxxxxx";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://10.0.2.2:52564/xxxx.svc/soap";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
TextView textView = new TextView(this);
setContentView(textView);
SoapObject request = new SoapObject(NAMESPACE,METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(URL);
try
{
httpTransport.call(SOAP_ACTION, envelope);
Object result = (Object)envelope.getResponse();
textView.setText(result.toString());
}
catch (Exception exception)
{
textView.setText(exception.toString());
}
}
}
就像你的json数据一样
[
{
"Description": "1",
"Latitude": 0.369,
"Longitude": 1.258
},
{
"Description": "2",
"Latitude": 1.369,
"Longitude": 3.258
},
{
"Description": "3",
"Latitude": 2.369,
"Longitude": 2.258
}
]
如下所示为数据创建一个类
public class Detail {
String description;
Double lat;
Double longi;
public Detail(String description, Double lat, Double longi) {
this.description=description;
this.lat=lat;
this.longi=longi;
}
}
之后,它为Deatail
创建一个数组列表
,如下所示
List<Detail> detailList=new ArrayList<Detail>();
并执行以下操作
String jsondata = loadJSONFromAsset();//load data and assign as json string
JSONArray primaryArray;
try {
primaryArray = new JSONArray(jsondata);
for (int i = 0; i < primaryArray.length(); i++) {
JSONObject jObject = primaryArray.getJSONObject(i);
String description = (String) jObject.getString("Description");
Log.d("Description", description);
Double latitude = jObject.getDouble("Latitude");
Log.d("Latitude", latitude+"");
Double longitude = jObject.getDouble("Longitude");
Log.d("Longitude", longitude+"");
detailList.add(new Detail(description, latitude, longitude));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在,您可以从arraylist中获取所有详细数据
您可以只使用json对象来处理响应。
以下是代码摘要:
JSONObject obj = new JSONObject(envelope.getResponse().toString());
String Latitude = obj.getString("Latitude");
String Longitude = obj.getString("Longitude");
如果您的json看起来像这样:
{
Latitude: "1.00",
Longitude: "1.00"
}
根据你的评论,你的json看起来像这样:
[
{
"Description": "1",
"Latitude": 0.369,
"Longitude": 1.258
},
{
"Description": "2",
"Latitude": 1.369,
"Longitude": 3.258
},
{
"Description": "3",
"Latitude": 2.369,
"Longitude": 2.258
}
]
您可以像这样提取值:
JSONArray obj = new JSONArray(envelope.getResponse().toString());
String[][] values = new String[obj.length()][3];
for(int i = 0; i < obj.length(); i++)
{
values[i][0] = obj.getJSONObject(i).getString("Description");
values[i][1] = obj.getJSONObject(i).getString("Latitude");
values[i][2] = obj.getJSONObject(i).getString("Longitude");
}
这里可能有错误,我刚刚在这里写了一下。< br >但这是您需要理解的概念。
将json解析为对象的最简单方法是使用对象映射器
ObjectMapper om = new ObjectMapper();
YourClass object = om.readValue(jsonText, YourClass.class);
这个对象映射器来自jackson:
http://fasterxml.github.io/jackson-databind/javadoc/2.0.0/com/fasterxml/jackson/databind/ObjectMapper.html
问题内容: 我需要在Java Android Appl中解析json字符串的帮助。 JSON文件的文本: 如何获取值:location_id,名称,纬度,经度。谢谢,米哈尔。 问题答案: 使用手动解析,您可以这样实现: 在您的案例中,请注意您的外部元素数据是JSONObject类型,然后您有了一个JSONArray 我的json文件: 请注意,我的从[开始,这意味着一个数组,但您的是从{开始,然后
问题内容: 现在完成XML SAX解析之后,我将在应用程序中进行JSON解析。我在这里为您提供杰森 现在,我提到了一个Json解析的示例,在该示例中,他们创建了一个jString对象,我对此特定行有疑问,如下所示: 任何人都可以让我澄清一下。完整示例的链接如下: http://www.androidcompetencycenter.com/2009/10/json-parsing-in- andr
问题内容: 在我的Android应用程序中,我必须使用服务器上的JSON才能在应用程序中进行特定调整。我试图达到的目的是读取此json并将所有值存储到局部变量中以在应用程序内执行操作。 来自服务器的JSON: 为了进行解析,我创建了Parse JSON类,并尝试提出在我的应用中读取和存储此JSON值的方法。 执行此操作的功能: getJSONFromUrl方法: 我正在收到错误:在此但我已经定义了
我有这个JS代码: 我的JSON看起来像:{“日期”:“2017-03-27”,“顺序”:“61”,“数据”:[{“国家标签”:“澳大利亚”,“货币标签”:“多拉尔”,“单位”:“1”,“代码”:“澳元”,“汇率”:“18.946”},{“国家标签”:“巴西”,“货币标签”:“真实”,“单位”:“1”,“代码”:“BRL”,“汇率”:“7.951”},{“国家标签”Bulharsko,“货币标签”
我正在使用一个JSON解析器从我的JSON文件中读取数据并将其显示在我的应用程序中,我最初使用这段代码创建数组,它工作良好,但现在我已经将它粘贴到一个新的应用程序中,使它从JSON获取数据并将其放到一个不工作的文本字段中。我会在下面贴出代码和错误日志。 d/test:http://curtisboylan.me/mygeek/mygeekprofile.php?user=1 e/egl_emula
主要内容:本节引言:,1.Json概念以及与XML的比较,2.Android给我们提供的Json解析类,3.代码示例:解析Json字符串:,本节小结:本节引言: 相信大家肯定对 Json 不陌生吧,我们和服务器交互一般用得较多的数据传递方式都是 Json 字符串的形式, 保存对象,我们也可以写成一个 Json 字符串然后存储!解析 Json 不知道你用的是 Gson,Fastjson,jackson 等,不过本节我们并不会去用这些第三方的解析库,而是使用 Android 自带的 Json 解析器