VahidSamimi Ответов: 1

Как найти классы и методы в textaea и сохранить как json с помощью PHP или js


Всем привет,
Я разрабатываю веб-приложение на PHP, и пользователи должны иметь возможность импортировать часть своих программ, и эти данные должны храниться в базе данных в виде JSON.
В качестве примера я пишу в Textarea два класса java вот так :
public class a {
        
    private int a1;
    private int a2;
    private static int a3 = 0;
        
    public a(int start, int end){
        // code 
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        public class b {
        
    private int b1;
    private int b2;
    private static int b3 = 0;
        
    public b4(int b5, int b6){
        // code 
    }

    public int getID() {
        return id;
    }
}


Я хочу получить эти данные в виде Json вот так :

[
	{
		"class": "a",
		"attribute":"private int a1;
					private int a2;
					private static int a3 = 0;"
		"method":
			{
				
					[
						{ "name": "public a(int start, int end)", "code": "..." },
						{ "name": "public int getID()", "code": "return id;" },
						
					]
			},
		
	},
	{
		class": "b",
		"attribute":"private int b1;private int b2;private static int b3 = 0;"
		"method":
			{
				
					[
						{ "name": "public b4(int b5, int b6)", "code": "..." },
						{ "name": "public int getID()", "code": "return id;" },
						
					]
			},
	}


Что я уже пробовал:

как я могу это сделать с помощью PHP или Js?

1 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

Это похоже на то, что вы пытаетесь получить информацию о классе, например, через отражение. Потому что в большинстве случаев JSON не будет таким, вместо этого он будет содержать только немного информации для воссоздания объектов, что-то вроде этого,

{
   "a1": 123,
   "a2": 321,
   "a3": 312
}
Данные JSON, не содержат информации о методе или о том, как они записываются в реализации класса. Для этого вы можете легко использовать JavaScript JSON object, чтобы сериализовать объекты среды выполнения (только для JavaScript, не Ява!),
var obj = JSON.stringify(yourobj); // { "a1": 123... }

Но я полагаю, что вы также хотите использовать метаданные объекта, для этого вам потребуется изучить API отражения Java, чтобы получить информацию о сигнатуре метода, а его тело будет намного сложнее и может также потребовать самого исходного кода. Зачем ты вообще это делаешь?

Наконец, PHP, похоже, не учитывается, потому что эта часть будет использоваться только в том случае, если вы хотите написать веб-сайт, который фактически позволяет пользователям вводить свои Java-программы для преобразования в нотацию JSON.

След: API отражения (учебники Java™ )[^]
В формате JSON.преобразовать в строки() - JavaScript-кода | МДН[^]


VahidSamimi

Я разрабатываю веб-приложение на PHP, и пользователи должны иметь возможность импортировать часть своих программ, и эти данные должны храниться в базе данных в виде JSON.Я хотел знать, есть ли способ сделать это или нет!

Afzaal Ahmad Zeeshan

Да, это возможно. В этом случае вместо сопоставления исходного кода Java с типами отражения просто сохраните весь исходный код в виде строки в базе данных.

Является ли эта база данных базой данных NoSQL? Если нет, то просто добавьте содержимое в таблицу.