小编use*_*748的帖子

在Spring RESTful服务中生成和使用自定义JSON对象

我有一些JSON对象比我拥有的java对象的JSON表示更复杂.我有构建这些JSON对象的方法,我想直接返回并使用它们.我使用org.json库来构建我的JSON.我可以GET通过返回JSON对象来获得该方法String.这是正确的方法吗?

@RequestMapping(value = "/getjson", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public String getJson() {
    JSONObject json = new JSONObject();
     JSONObject subJson = new JSONObject();
    subJson .put("key", "value");
    json.put("key", subJson);
    return json.toString();
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道如何使用JSON对象?作为字符串并将其转换为JSON对象?

    @RequestMapping(value = "/post", method = RequestMethod.POST, produces="application/json", consumes="application/json")
    @ResponseBody
    public String post(@RequestBody String json) {
        JSONObject obj = new JSONObject(json);
        //do some things with json, put some header information in json
        return obj.toString();
    }
Run Code Online (Sandbox Code Playgroud)

这是解决我问题的正确方法吗?我是一个新手,所以请指出任何可以做得更好的事情.请注意:我不想退回POJO.

java rest post spring json

18
推荐指数
1
解决办法
6万
查看次数

C++中没有数据成员的类

这可能不是C++特有的问题,更多的是面向对象编程.我是新手,我对我的设计表示怀疑.我有一个类Parser ,它基本上实现了许多处理解析表达式的函数,从中缀到后缀的转换等.我在main函数中使用了这些Parser函数.我意识到我不需要这个类的任何数据成员.因此,我真的不需要这个类的对象.因此,我最终在课堂上将每个函数都设置为静态.这个设计有什么奇怪的吗?我应该将其作为界面吗?有什么建议?

c++ oop static interface class

9
推荐指数
2
解决办法
5217
查看次数

覆盖关键字在编译时抛出错误

我有基础课

template<typename T>
Class Base {
  Base();

public:
  virtual void myfunc()=0; 
}
Run Code Online (Sandbox Code Playgroud)

我派上课了

template<typename T>
Class Derived: public Base<T> {
  Derived():Base() {
  }

public:
  void myfunc() override; 
}
Run Code Online (Sandbox Code Playgroud)

当我编译时g++ -std=c++0x,我得到错误,突出显示重写函数, error: expected ‘;’ at end of member declaration error: ‘override’ does not name a type

g ++版本是4.6.

c++ overriding g++ c++11

7
推荐指数
2
解决办法
1万
查看次数

如何在Windows中从WLAN捕获信标帧?

我在Windows上使用本机Wifi api以编程方式执行WLAN的一些任务.但是,我的问题是它暴露了有限的功能集.我想访问提供接入点负载,通话时间等的信标帧的某些字段.哪些工具可用于执行此操作?

提前致谢!

windows frames wlan access-point

6
推荐指数
1
解决办法
5212
查看次数

通过值或指针返回一个大的struct对象,以指向C++上的动态分配

这是我的问题.我有一个函数,它接受struct输入,分配一个新的struct然后返回它.将struct具有以下内容

struct Data {
std::vector<custom_type> vector_vars;
std::string key;
std::map<std::string, Data*> index;
};
Run Code Online (Sandbox Code Playgroud)

vector_vars的大小为500-1000.custom_type如果相关是这个类.在index帮助我访问不同Data的结构key.这是功能.

Data func(Data inputData) {

 Data outputData;
//compare values with inputData
//change some values in Data struct
 return outputData
}
Run Code Online (Sandbox Code Playgroud)
  1. 我是否使用堆栈分配并将其返回以便将其复制到RHS.这是否可取,因为复制可能会产生大量开销?

  2. 我可以在函数内返回在堆栈上分配的struct的引用/指针吗?

  3. std::shared_ptr为了提高效率,是否建议使用动态分配(可能是)?

c++ heap stack memory-management

5
推荐指数
1
解决办法
2317
查看次数

在C++中使用模板参数的Typedef

我该如何解决这个错误?

我的头文件

template<typename T>
class C1 {
public:
typedef std::vector<T::F> TFV;
TFV Function1();
};
Run Code Online (Sandbox Code Playgroud)

我的CPP文件

template<typename T>
TFV C1::Function() //error: ‘TFV’ does not name a type
{ }
Run Code Online (Sandbox Code Playgroud)

c++ templates typedef

3
推荐指数
2
解决办法
1万
查看次数

从C++中的另一个构造函数调用构造函数时出错

我有一个struct A有几个构造函数,初始化不同的数据成员.

template<typename T>
    struct A {

    typedef std::vector<T> type1
    type1 a;
    type1 b;
    type1 c;

    A(type1 i_a): a(i_a) {
    }

    A(type1 i_a, type1 i_b): A(i_a), b(i_b) {
    }

    A(type1 i_a, type1 i_b, type1 i_c): A(i_a, i_b), c(i_c) {
    }
};
Run Code Online (Sandbox Code Playgroud)

我得到的错误是当我用它实例化它时custom_type,错误是 type A<custom_type> is not direct base of A<custom_type>突出显示我在另一个构造函数中调用的构造函数.我正在使用C++ 11.有什么问题?

c++ constructor ctor-initializer c++11

2
推荐指数
1
解决办法
881
查看次数

在C++中进行向量推回操作的类型转换

我有两个向量

std::vector<std::string> outputStack, operatorStack;
Run Code Online (Sandbox Code Playgroud)

在某些时候,我需要从一个堆栈中弹出一些元素并将其推入另一个堆栈.

while(operatorStack.back().compare(L_BRACKET)) {
    outputStack.push_back(operatorStack.pop_back());
}
Run Code Online (Sandbox Code Playgroud)

但是,eclipse会抛出一个错误,无效的参数.但是当我输入输入时工作正常.

outputStack.push_back((std::string)operatorStack.pop_back());
Run Code Online (Sandbox Code Playgroud)

现在,为什么需要这种类型转换?我正在阅读(主要是在C++ Primer中),根据C++ 11,需要避免类型转换.

c++ types casting vector push-back

1
推荐指数
1
解决办法
524
查看次数

1
推荐指数
1
解决办法
1410
查看次数