如果 java 中 JSON 格式的值列表中有值,我如何检查 return
How can i check and return if there is value in a list with values in JSON format in java
我想看看我的列表中是否有 live67 参数,我看过其他关于如何查看列表中是否有值的帖子,但是我的列表中有 JSON 格式的值,它是不适合我。之后我想 return 3da2f0db339742f257ecbe737855cd6e -> test67 的值。
我试试:
streamService.getAllStreams().contains("test67")
我的清单:
[
{
"key": "3da2f0db339742f257ecbe737855cd6e",
"streamName": "test67"
},
{
"key": "35ad38ffb46c2ba97306ca931e003481",
"streamName": "test68"
}
]
在 streamDao 中 class:
public List<Stream> selectAllStreams();
在 StreamService 中:
public List<Stream> getAllStreams(){
return streamDao.selectAllStreams();
}
在 StreamController 中:
@GetMapping("/getList")
public List<Stream> getAllStreams(){
if(streamService.getAllStreams().contains("test67")){
return streamService.getAllStreams();
}
else{
return null;
}
}
总是得到 null
这是我的直播class:
public class Stream {
String key;
String streamName;
public Stream(String streamName, String key){
this.streamName = streamName;
this.key = key;
}
public String getKey() {
return key;
}
public String getStreamName() {
return streamName;
}
}
查看 java 流 api
public List<Stream> getAllStreams(){
var optionalStream = streamService.getAllStreams().stream()
.filter(str -> str.getStreamName().equals("test67")).findFirst();
if (optionalStream.isPresent()) {
return streamDao.selectAllStreams();
// return optionalStream.get().getKey(); To return the Key value of stream test67
}
return null;
}
解决这个问题的最快方法,请覆盖toString()
方法。
public class Stream {
String key;
String streamName;
public Stream(String streamName, String key){
this.streamName = streamName;
this.key = key;
}
public String getKey() {
return key;
}
public String getStreamName() {
return streamName;
}
/// override toString()
@Override
public String toString() {
return getStreamName();
}
}
事实上,Object.toString()
用于验证所有其他外部库中的对象类。
因此,返回 toString()
的唯一值及其中对象的所有属性 - 这是常规方式。
但在你的情况下,这是最快的方法。
或者您需要实施 List.contains()
的替代方法。
我想看看我的列表中是否有 live67 参数,我看过其他关于如何查看列表中是否有值的帖子,但是我的列表中有 JSON 格式的值,它是不适合我。之后我想 return 3da2f0db339742f257ecbe737855cd6e -> test67 的值。
我试试:
streamService.getAllStreams().contains("test67")
我的清单:
[
{
"key": "3da2f0db339742f257ecbe737855cd6e",
"streamName": "test67"
},
{
"key": "35ad38ffb46c2ba97306ca931e003481",
"streamName": "test68"
}
]
在 streamDao 中 class:
public List<Stream> selectAllStreams();
在 StreamService 中:
public List<Stream> getAllStreams(){
return streamDao.selectAllStreams();
}
在 StreamController 中:
@GetMapping("/getList")
public List<Stream> getAllStreams(){
if(streamService.getAllStreams().contains("test67")){
return streamService.getAllStreams();
}
else{
return null;
}
}
总是得到 null
这是我的直播class:
public class Stream {
String key;
String streamName;
public Stream(String streamName, String key){
this.streamName = streamName;
this.key = key;
}
public String getKey() {
return key;
}
public String getStreamName() {
return streamName;
}
}
查看 java 流 api
public List<Stream> getAllStreams(){
var optionalStream = streamService.getAllStreams().stream()
.filter(str -> str.getStreamName().equals("test67")).findFirst();
if (optionalStream.isPresent()) {
return streamDao.selectAllStreams();
// return optionalStream.get().getKey(); To return the Key value of stream test67
}
return null;
}
解决这个问题的最快方法,请覆盖toString()
方法。
public class Stream {
String key;
String streamName;
public Stream(String streamName, String key){
this.streamName = streamName;
this.key = key;
}
public String getKey() {
return key;
}
public String getStreamName() {
return streamName;
}
/// override toString()
@Override
public String toString() {
return getStreamName();
}
}
事实上,Object.toString()
用于验证所有其他外部库中的对象类。
因此,返回 toString()
的唯一值及其中对象的所有属性 - 这是常规方式。
但在你的情况下,这是最快的方法。
或者您需要实施 List.contains()
的替代方法。