就是有个返回的json数据,我只有在特定的页面查询才会返回一个带有"action": "searchInCity"的数据,如下:{"focus":"map","intent":"addViaPoint","subFocus":"","opration":"","operation":"","object":{"action":"searchInCity","keyword":"添加加油站"},"extras":null,"playMode":""} 下面的代码是获取json数据, PoiSearchInfo pi = null; try { String result = intent.getStringExtra("object"); Log.d(TAG, "json: " + result); JSONObject res = new JSONObject(result); JSONObject object = res.getJSONObject("object"); query = intent.getStringExtra(KEY_RULE_RAW); String api = object.getString("api"); if(object.equals("action")){ String action1 = object.getString("action"); if (API_SEARCH_IN_CITY.equals(action1)) { pi = new PoiSearchInfo(Constant.MAP_SEARCH_CITY, 5000, false, null, object.getString("keyword")); } android.util.Log.d("TAGAA", "execute: 的哇得到的飞 "+action1); } android.util.Log.d("TAGAA", "execute: 数据0是 ------ "+api); if (API_SEARCH_NEAR_BY.equals(api)) { pi = new PoiSearchInfo(Constant.MAP_SEARCH_NEARBY, 5000, false, null, object.getString("keyword")); } else if (API_SEARCH_IN_CITY.equals(api)) { pi = new PoiSearchInfo(Constant.MAP_SEARCH_CITY, 5000, false, null, object.getString("keyword")); } 现在的代码是获取有api的可以直接查到,我在特定的页面,比如“添加加油站成为途经点”,那么数据页返回了,我应该怎么拿到?
时间: 2023-07-13 18:15:12 浏览: 45
根据你提供的代码,可以看出你已经成功地获取了包含"action": "searchInCity"的JSON数据,并且已经通过条件判断把这个数据转化为了PoiSearchInfo对象。
如果你在特定页面中查询返回了这个JSON数据,可以考虑在页面中的相关代码块或函数中,添加一个类似于以下的语句:
```
Intent intent = getIntent();
String result = intent.getStringExtra("object");
JSONObject res = new JSONObject(result);
JSONObject object = res.getJSONObject("object");
if ("searchInCity".equals(object.getString("action"))) {
// 这里是你需要处理这个JSON数据的代码
}
```
这段代码会先获取Intent对象和传递过来的JSON数据,然后根据JSON数据中的"action"字段判断是否为"searchInCity",如果是,就执行相应的处理代码。你可以在处理代码中使用之前已经实现的PoiSearchInfo对象的相关属性。
相关问题
post请求返回一个string类型,返回的JSON数据有一个=,该如何去掉
如果返回的 JSON 数据中包含一个多余的等号符号,你可以通过字符串替换的方式将其去掉。具体的实现方式取决于你使用的编程语言或框架。
以下是一个示例 Python 代码,它使用字符串替换的方式去掉 JSON 数据中的等号符号:
```python
import requests
import json
response = requests.post(url, data=data)
json_data = json.loads(response.text.replace("=", ""))
```
这段代码使用 requests 库发送 POST 请求,并将返回的 JSON 数据进行字符串替换,以去掉其中的等号符号。最后,使用 json.loads() 函数将字符串转换为 JSON 对象。
请注意,这只是一个示例代码,并且假设你已经获取了正确的 JSON 数据。在实际情况中,你需要做一些错误处理和异常处理,以确保代码能够正确地处理各种情况。
建springboot 工程 发送一个请求http:localhost:8080/hello 结果: 1. 我需要返回一个json 数据格式
好的,下面是建立Spring Boot工程以及实现返回JSON格式数据的步骤:
1. 使用Spring Initializr创建一个新的Spring Boot工程。在https://start.spring.io/页面上选择“Gradle Project”、“Java”、“Spring Boot 2.5.5”版本,并填写项目的Group、Artifact、Name、Package等信息,最后点击“Generate”按钮即可下载生成的工程文件。
2. 打开生成的工程文件,在src/main/java目录下创建一个名为“com.example.demo”的包,然后在该包下创建一个名为“HelloController”的类。该类需要使用Spring MVC注解来处理HTTP请求并返回JSON格式数据,代码如下:
```
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "{\"message\": \"Hello, world!\"}";
}
}
```
在上面的代码中,@RestController注解表示该类处理HTTP请求并返回数据,@RequestMapping注解表示该方法处理“/hello”路径的请求,返回一个字符串类型的JSON格式数据。
3. 在终端中进入工程目录,使用Gradle命令启动工程:./gradlew bootRun。启动成功后,在浏览器中访问http://localhost:8080/hello,应该能够看到如下JSON格式的数据:
```
{"message": "Hello, world!"}
```
这就是返回JSON格式数据的实现方法。